swf2jpg
Últimamente han aparecido varios sitios en los cuales uno puede crear su wallpaper personalizado..
El cliente esta hecho en flash y al terminar tu “obra” puedes descargar el JPG…
Bueno hace poco platicando con Fer nos preguntábamos como poder hacer esto. Estuve investigando la forma más simple de hacerlo y la mejor opción por lo menos para mí fue usar las Librerías GD de PHP.
La explicación teórica es esta:
Cliente
1.- Poder elegir un grafico
2.- Moverlo por el “Stage”
3.- Situarlo donde más nos guste
4.- Incluirlo el grafico tantas veces queramos
5.- Enviar las propiedades de cada grafico a un Script .php
Servidor
1.- Tomar las propiedades de los gráficos y generar la imagen
bien, por cada grafico disponible en el Cliente, necesitaremos una copia con buena resolución en el servidor, para poder editarla mediante las librerías GD
y eso es todo…
Aquí esta el Ejemplo http://tmeister.net/archivos/swf2jpg/dibuja.swf
Solo basta dar click en un elemento grafico una vez disponible en el “Stage” posicionarlo donde gusten y por ultimo oprimir el botón Genera JPG…
El Script PHP
<?php
function thumb($source, $quality = 100 ,$x, $y, $w, $h){
global $resize;
$size = getimagesize($source);
header('Content-Type: image/jpeg');
switch ($size['mime']) {
case 'image/jpeg':
$im = imagecreatefromjpeg($source);
imagecopyresampled($resize, $im, $x, $y, 0, 0, $w, $h, $size[0], $size[1]);
$imgInfo = array($resize, $quality);
break;
case 'image/png':
$im = imagecreatefrompng($source);
imagecopyresampled($resize, $im, $x, $y, 0, 0, $w, $h, $size[0], $size[1]);
$imgInfo = array($resize, $quality);
break;
}
}
//tamaño de la Imagen...
$w = 580;
$h = 420;
$resize = imagecreatetruecolor($w, $h);
//Creamos el Fondo Blanco
thumb("imgs/fondo.png",100,0,0,$w,$h);
//Tomamos la info de las imagenes y la destripamos
$map = $_GET['imgs'];
$fotos = split("--", $map);
for($i = 0; $i<count($fotos); $i++){
list($nombre, $x, $y, $alto, $ancho) = split(",",$fotos[$i]);
thumb("imgs/".$nombre.".png",100,$x,$y,$ancho,$alto);
}
imagejpeg($resize, "", 100);
?>
Este Script recibe una variable con los nombres de las imagenes y sus propiedades algo asi:
ffm,48,51,81,162--diablito,369,246,107,92
Por el momento el cliente solo puede mover los gráficos no puede escalarlos..
Archivos Fuente http://tmeister.net/archivos/swf2jpg/swf2jpg.zip
Enjoy…

Pingback: FlashBlog » swf2jpg