两种创建画布方法的差别

imagecreatetruecolor(int x,int y)与imagecreate(int x,int y)的差别
用imagecreatetruecolor(int x,int y)建立的是一幅大小为 x和 y的黑色图像(默认为黑色),如想改变背景颜色则需要用填充颜色函数imagefill(image source,0,0,$color);

imagecreate 新建一个空白图像资源,用imagecolorallocate()添加背景色


//imagecreatetruecolor()函数
ob_clean();
header("Content-type:image/png");
$img = imagecreatetruecolor(100,100);            //创建真彩图像资源
$color = imagecolorallocate($img,255,0,0);       //分配一个灰色
imagefill($img,0,0,$color);                      // 从左上角开始填充灰色
header('content-type:image/png');                //png格式,也可以自己设置为别的样式
imagepng($img);                                  //显示红色的方块
?>

通常如果没有ob_clean()函数,将显示图像“http:localhostwenjian.php”因存在错误而无法显示,这种解决的办法很多地方都提到,就是在header( )函数之前加上ob_clean()函数


//imagecreate()函数
ob_clean();
header("Content-type:image/png");
$img = imagecreate(80,80);                   //创建空白图像资源
$color = imagecolorallocate($img,255,0,0);   //添加背景色,
//如果没有添加,则图像上方会显示图像“http:localhost//wenjian.php”因存在错误而无法显示
header('content-type:image/png');            //png格式
imagepng($img);                              //显示红色的方块
?>

你可能感兴趣的:(PHP初学笔记)