Why when i rotate the image black borders appear? PHP GD
Posted
by EAGhost
on Stack Overflow
See other posts from Stack Overflow
or by EAGhost
Published on 2010-05-08T21:11:07Z
Indexed on
2010/05/08
21:18 UTC
Read the original article
Hit count: 291
This code generates two images using GD and rotates one of them. When I rotate the image black borders begin to appear. Anyone have an idea of how to resolve this?
imagefilledrectangle($im, 0, 0, 300, 400, $black); imagefilledrectangle($im, 1, 1, 298, 398, $grey); imagefilledrectangle($im, 49, 69, 251, 271, $black); imagefilledrectangle($im, 50, 70, 250, 270, $white); imagefttext($im, 13, 0, 90, 30, $black, $font_file, "Wind Direcction");
$source=imagecreatetruecolor(100, 100);
imagefilledrectangle($source, 0, 0, 100, 100, $white);
$values = array(
20, 30, // Point 1 (x, y)
50, 0,
80, 30,
65, 30,
65, 100,
35, 100,
35, 30 // Point 7 (x, y)
);
imagefilledpolygon($source, $values, 7, $black1);
$asd=imagerotate($source, $rotate, 0);
imagecolortransparent($asd, $black);
imageantialias($asd, true);
$insert_x = imagesx($asd);
$insert_y = imagesy($asd);
if($rotate==0 || $rotate==90 || $rotate==180 || $rotate==270){ imagecopymerge ( $im , $asd , 100 , 130 , 0 , 0 , $insert_x , $insert_y , 100 ); } if($rotate==45 || $rotate==135 || $rotate==225 || $rotate==315){ imagecopymerge ( $im , $asd , 85 , 110 , 0 , 0 , $insert_x , $insert_y , 100 ); }
imageantialias($im, true); header('Content-Type: image/png'); imagepng($im); imagedestroy($im); ?>
© Stack Overflow or respective owner