Efecto 3DReflect para Imaset
Escrito por Alex Barros Acado de crear un nuevo efecto para Imaset, el 3DReflect. Si estás usando la versión 2.1, podrás utilizar este nuevo filtro subiendo un pequeño archivo XML a la carpeta “/filters” del plugin.
El filtro
El efecto es similar al ya existente de Reflejo. La diferencia es que este efecto es tridimensional, dando un efecto de profundidad.
Descargas
Descarga el archivo de filtro 3DReflect y súbelo a la carpeta “/filters” para empezar a disfrutarlo.Se adjunta también el archivo de idioma Español es_ES.php, para tener la traducción de los parámetros de este nuevo plugin (súbelo a tu carpeta “/lang”).
Código fuente
Este es el código fuente del archivo XML. TodabÃa no he escrito la API para desarrollar filtros de Imaset, pero con este ejemplo, puede que alguien ya se atreva a intentar algo.
-
<filter>
-
<name>3DReflect</name>
-
<category>decoration</category>
-
<parameters>
-
<pa>$s=30</pa>
-
<pa>$oi=60</pa>
-
<pa>$pr=25</pa>
-
</parameters>
-
<function>
-
//controlo los limites
-
$s = $imaset->lim($s,300,1); //tamaño
-
$oi = $imaset->lim($oi,100,5); //opacidad inicial
-
$pr = $imaset->lim($pr,100,0); //profundidad
-
-
$sx = imagesx($im);
-
$sy = imagesy($im);
-
if($s>$sy) $s = $sy-1;
-
-
$x = $sx+2*$pr;
-
$y = $sy+$s;
-
-
-
$reflekt = imagecreatetruecolor($x,$y);
-
$color = imagecolorallocate($reflekt, $imaset->Red,$imaset->Green,$imaset->Blue); //Fondo
-
imagefilledrectangle($reflekt, 0, 0, $x, $y, $color); //Relleno el fondo
-
imagecopy($reflekt, $im, $pr, 0, 0, 0, $sx, $sy);
-
-
$reflekt = $imaset->resize($reflekt,‘200%’,”); //resize al doble por mejorar calidad
-
-
//hago el efecto conico de reflejo
-
for($i=0;$i<=$s*2;$i++)
-
imagecopyresampled($reflekt, $im, $pr*2-($pr*$i/$s), $sy*2+$i, 0, $sy-(round($i/2)+1), $sx*2+2*($pr*$i/$s), 1, $sx, 1);
-
-
$reflekt = $imaset->resize($reflekt,‘50%’,”); //resize a la mitad
-
-
//finalmente creo el efecto transparencia con una imagen comodin
-
$bla = imagecreatetruecolor($x,1);
-
$color = imagecolorallocate($bla, $imaset->Red,$imaset->Green,$imaset->Blue); //Fondo
-
imagefilledrectangle($bla, 0, 0, $x, 1, $color); //Relleno el fondo
-
-
for($i=0;$i<$s;$i++)
-
-
return $reflekt;
-
</function>
-
</filter>
Categorias: Código, Imagen Digital, Plugins, Wordpress |




[...] Mas información [...]