首页 服务端 php 正文

php生成图片底部出现白边问题

long 2021-04-15 16:00 php 人气139

今天想在yii的一个action里做生成图片功能,出现了莫名其妙的问题,明明想生成一个纯色的背景,图片的底部总有一块白色。

代码如下:

public function actionImage(){
header("content-type:image/jpeg");
$path = \Yii::$app->basePath . '/web/';

$im = imagecreatetruecolor(540, 580); // 设置画布大小
$red = imagecolorallocate($im, 255, 0, 0);//图片的rgb
imagefill($im, 100, 100, $red);

imagejpeg($im); // 生成jpeg格式图片
imagedestroy($im); // 销毁图片
}


一直怀疑是GD库有问题。

后来发现在一个单独的php文件里(不在yii的action里),执行就没问题。

原来yii的action在输出的时候又增加了内容。

所以在action的最后需要加上exit。

代码如下:

public function actionImage(){
header("content-type:image/jpeg");
$path = \Yii::$app->basePath . '/web/';

$im = imagecreatetruecolor(540, 580); // 设置画布大小
$red = imagecolorallocate($im, 255, 0, 0);//图片的rgb
imagefill($im, 100, 100, $red);

imagejpeg($im); // 生成jpeg格式图片
imagedestroy($im); // 销毁图片
exit;
}

公众号
小程序
网站统计
  • 文章总数:297
  • 总点击量:55525
  • 评论总数:27
  • 网站运行:548 天