私の場合、多くの画像を 1 つの画像にマージするための php スクリプトを作成しました。マージプロセス中に、いくつかの画像を回転させたいです。
スクリプトは正常に動作しています。しかし、回転した画像は黒い背景色を示しています。
黒い背景色を削除する必要があります。
PHPのハンドル回転機能に以下のスクリプトを使用しています。このスクリプトは、回転機能を使用して 3 つの png 画像をマージできます。
問題:
- IE 8 で回転した後、画像の周りにいくつかの暗い線が表示されます。
- 背景が白ではなく黒で表示される
これらの問題を解決する方法。
このスクリプトの問題を修正し、回答を投稿してください。
$im = imagecreatetruecolor(500, 600);
$white = imagecolorallocate($im, 255, 255, 255);
$black = imagecolorallocate($im, 000, 000, 000);
$source=imagecreatefrompng("http://cn1.kaboodle.com/img/c/0/0/179/4/AAAADDpe-ZwAAAAAAXlIhA/funny-shirt-pikachu-pokemon-anime-mens-cool-humor-t-shirt.png?v=1313557837000");
$asd=imagerotate($source, 280, 0);
imagecolortransparent($asd, $white);
imageantialias($asd, true);
$insert_x = imagesx($asd);
$insert_y = imagesy($asd);
imagecopymerge ( $im , $asd , 0 , 0 , 0 , 0 , $insert_x , $insert_y , 100 );
$source1=imagecreatefrompng("http://www.vouchersmate.com/content/images/thumbs/0001595_worlds_best_dad_to_be_t_shirts.png");
$asd1=imagerotate($source1, 180, 0);
imagecolortransparent($asd1, $white);
imageantialias($asd1, true);
$insert_x1 = imagesx($asd1);
$insert_y1 = imagesy($asd1);
imagecopymerge ( $im , $asd1 , 110 , 55 , 0 , 0 , $insert_x1 , $insert_y1 , 100 );
$source2=imagecreatefrompng("http://goalwa.files.wordpress.com/2011/11/green_shirt.png?w=300&h=300");
$asd2=imagerotate($source2, 320, 0);
imagecolortransparent($asd2, $white);
imageantialias($asd2, true);
$insert_x2 = imagesx($asd2);
$insert_y2 = imagesy($asd2);
imagecopymerge ( $im , $asd2 , 170 , 90 , 0 , 0 , $insert_x2 , $insert_y2 , 100 );
imagecolortransparent($im, $black);
imageantialias($im, true);
imagealphablending($im, true);
imagesavealpha($im, true);
header('Content-Type: image/png');
imagepng($im);
PHPのハンドル回転機能に以下のスクリプトを使用しています。このスクリプトは、回転機能を使用して 3 つの png 画像をマージできます。
問題:
- IE 8 で回転した後、画像の周りにいくつかの暗い線が表示されます。
- 背景が白ではなく黒で表示される
これらの問題を解決する方法。
このスクリプトの問題を修正し、回答を投稿してください。
$im = imagecreatetruecolor(500, 600);
$white = imagecolorallocate($im, 255, 255, 255);
$black = imagecolorallocate($im, 000, 000, 000);
$source=imagecreatefrompng("http://cn1.kaboodle.com/img/c/0/0/179/4/AAAADDpe-ZwAAAAAAXlIhA/funny-shirt-pikachu-pokemon-anime-mens-cool-humor-t-shirt.png?v=1313557837000");
$asd=imagerotate($source, 280, 0);
imagecolortransparent($asd, $white);
imageantialias($asd, true);
$insert_x = imagesx($asd);
$insert_y = imagesy($asd);
imagecopymerge ( $im , $asd , 0 , 0 , 0 , 0 , $insert_x , $insert_y , 100 );
$source1=imagecreatefrompng("http://www.vouchersmate.com/content/images/thumbs/0001595_worlds_best_dad_to_be_t_shirts.png");
$asd1=imagerotate($source1, 180, 0);
imagecolortransparent($asd1, $white);
imageantialias($asd1, true);
$insert_x1 = imagesx($asd1);
$insert_y1 = imagesy($asd1);
imagecopymerge ( $im , $asd1 , 110 , 55 , 0 , 0 , $insert_x1 , $insert_y1 , 100 );
$source2=imagecreatefrompng("http://goalwa.files.wordpress.com/2011/11/green_shirt.png?w=300&h=300");
$asd2=imagerotate($source2, 320, 0);
imagecolortransparent($asd2, $white);
imageantialias($asd2, true);
$insert_x2 = imagesx($asd2);
$insert_y2 = imagesy($asd2);
imagecopymerge ( $im , $asd2 , 170 , 90 , 0 , 0 , $insert_x2 , $insert_y2 , 100 );
imagecolortransparent($im, $black);
imageantialias($im, true);
imagealphablending($im, true);
imagesavealpha($im, true);
header('Content-Type: image/png');
imagepng($im);