我想創建一個帶有透明背景的動畫像素的GIF圖像,該圖像從Javascript獲取顏色。 我試過用這個: http://www.phpclasses.org/package/3163-PHP-Generate-GIF-animations-from-a-set-of-GIF-images.html 而這個:http://www.jeroenvanwissen.nl/weblog/php/howto-generate-animated-gif-with-php 但是,我有一個問題。 我創造了這個代碼:帶有PHP動畫GIF圖像
<?php
header ('Content-type:image/gif');
include('GIFEncoder.class.php');
// Open the first source image and add the text.
$image = imagecreatefrompng('None.png');
imagesavealpha($image, true);
$color = $_GET["sc"];
$r_bg = hexdec(substr($color,0,2));
$g_bg = hexdec(substr($color,2,2));
$b_bg = hexdec(substr($color,4,2));
$c1 = imagecolorallocate($image, $r_bg, $g_bg, $b_bg);
imagesetpixel($image,36,24,$c1);
imagesetpixel($image,36,25,$c1);
imagesetpixel($image,36,26,$c1);
imagesetpixel($image,37,26,$c1);
imagesetpixel($image,38,26,$c1);
imagesetpixel($image,38,25,$c1);
imagesetpixel($image,38,24,$c1);
imagesetpixel($image,37,24,$c1);
// Generate GIF from the $image
// We want to put the binary GIF data into an array to be used later,
// so we use the output buffer.
ob_start();
imagegif($image);
$frames[]=ob_get_contents();
$framed[]=40;
// Delay in the animation.
ob_end_clean();
// And again..
// Open the first source image and add the text.
$image = imagecreatefrompng('None.png');
imagesavealpha($image, true);
$color = $_GET["sc"];
$r_bg = hexdec(substr($color,0,2));
$g_bg = hexdec(substr($color,2,2));
$b_bg = hexdec(substr($color,4,2));
$c1 = imagecolorallocate($image, $r_bg, $g_bg, $b_bg);
imagesetpixel($image,34,23,$c1);
imagesetpixel($image,34,24,$c1);
imagesetpixel($image,34,25,$c1);
imagesetpixel($image,34,26,$c1);
imagesetpixel($image,34,27,$c1);
imagesetpixel($image,35,28,$c1);
imagesetpixel($image,36,28,$c1);
imagesetpixel($image,37,28,$c1);
imagesetpixel($image,38,28,$c1);
imagesetpixel($image,39,28,$c1);
imagesetpixel($image,40,27,$c1);
imagesetpixel($image,40,26,$c1);
imagesetpixel($image,40,25,$c1);
imagesetpixel($image,40,24,$c1);
imagesetpixel($image,40,23,$c1);
imagesetpixel($image,39,22,$c1);
imagesetpixel($image,38,22,$c1);
imagesetpixel($image,37,22,$c1);
imagesetpixel($image,36,22,$c1);
imagesetpixel($image,35,22,$c1);
// Generate GIF from the $image
// We want to put the binary GIF data into an array to be used later,
// so we use the output buffer.
ob_start();
imagegif($image);
$frames[]=ob_get_contents();
$framed[]=40;
// Delay in the animation.
ob_end_clean();
// Generate the animated gif and output to screen.
$gif = new GIFEncoder($frames,$framed,0,2,0,0,0,'bin');
echo $gif->GetAnimation();
?>
我得到一個十六進制顏色代碼,然後將其轉換爲RGB。 但是,我得到這些錯誤:
<br />
<b>Notice</b>: Use of undefined constant ERR00 - assumed 'ERR00' in <b>D:\Testing\xampp\htdocs\Test\Test.php</</b> on line <b>75</b><br />
<br />
<b>Notice</b>: Use of undefined constant ERR01 - assumed 'ERR01' in <b>D:\Testing\xampp\htdocs\Test\Test.php</</b> on line <b>75</b><br />
<br />
<b>Notice</b>: Use of undefined constant ERR02 - assumed 'ERR02' in <b>D:\Testing\xampp\htdocs\Test\Test.php</b> on line <b>75</b><br />
<br />
<b>Notice</b>: Use of undefined constant ERR03 - assumed 'ERR03' in <b>D:\Testing\xampp\htdocs\Test\Test.php</b> on line <b>75</b><br />
GIF89a2
我不知道這就是問題所在。 :/