php生成图片底部出现白边问题
2021-04-15 16:00:23
今天想在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); // 销毁图片 }</pre><p></p><p><br></p><p>一直怀疑是GD库有问题。</p><p>后来发现在一个单独的php文件里(不在yii的action里),执行就没问题。</p><p>原来yii的action在输出的时候又增加了内容。</p><p><b>所以在action的最后需要加上exit。</b></p><p>代码如下:</p><p><pre lay-lang="PHP" lay-title="PHP">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; }</pre><br></p>