Ver Mensaje Individual
  #5 (permalink)  
Antiguo 15/01/2012, 01:03
Avatar de caricatos
caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Respuesta: Crear Imagen en PNG

Hola:

No estoy seguro de como funciona sin el "truecolor", pero me parece que tiene limitada la paleta de colores... y con la coletilla y transparentando el fondo, yo consigo png's con fondo transparente. Mi código (controlando la existencia y validez de la imagen pasada por url):

Código:
$url = $_GET["url"];
$soy_fichero = is_file($url);
list ($ancho, $alto, $tipo) = @getimagesize($url);

if ($ancho)	{
	$apaisada = $ancho > $alto;
	$mayor = ($apaisada) ? $ancho : $alto;
	if (isset($_GET["max"]) && ((int) $_GET["max"] <= $mayor))	{

		$img = imagecreatefromstring(file_get_contents($url));
		$ratio = ($ancho > $alto) ? $max / $ancho: $max / $alto; 
		$anchito = $ancho * $ratio;
		$altito = $alto * $ratio;
		$mini = imagecreatetruecolor($anchito, $altito);
		$fondo = imagecolorallocate($mini, 0, 0, 0);
		imagecolortransparent($mini, $fondo);
		imagefill($mini, 0, 0, $fondo);

		imagecopyresized($mini, $img, 0, 0, 0, 0, $anchito, $altito, $ancho, $alto);
		header("Content-Type: image/png");
		imagepng($mini);
		imagedestroy($mini);
	}
	else	{
		$img = imagecreatefromstring(file_get_contents($url));
		header("Content-Type: image/png");
		imagepng($img);
		imagedestroy($img);
	}
}
else	{
	$img = imagecreatefromstring(file_get_contents("dibujos/miemoticon.gif"));
	header("Content-Type: image/gif");
	imagegif($img);
	imagedestroy($img);

}
Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo