1
$background = imagecreatetruecolor(709,709);

$whiteBackground = imagecolorallocate($background, 255, 255, 255);

imagecopyresampled($whiteBackground, $new_img,(709-$imageWidth)/2,(709-$imageHeight)/2, 0, 0, $imageWidth, $imageHeight, $width, $height);

ImageJpeg ($background,"$path/$newName.$file_ext", 85);

白い背景を持つ GD で画像を作成しようとしています。しかし、運が悪い、何が間違っているのか考えはありますか? whiteBackground ビットを取り出すとメイジがポンプアウトすることはわかっているので、イメージ作成コードに問題はありません。

ありがとう

4

3 に答える 3

3

割り当てられた白色のimagefill()方法がありません。$background

[色] から [画像] へのイメージコピーはできません。[画像] から [画像] へのコピーを行う必要があります。

$background = imagecreatetruecolor(709,709);
$whiteBackground = imagecolorallocate($background, 255, 255, 255);
imagefill($background,0,0,$whiteBackground);
imagecopyresampled($background, $new_img,(709-$imageWidth)/2,(709-$imageHeight)/2, 0, 0, $imageWidth, $imageHeight, $width, $height);
ImageJpeg ($background,"$path/$newName.$file_ext", 85);
于 2012-05-24T11:11:04.623 に答える
0

これがうまくいくことを願っています

$background = imagecreatetruecolor(709,709);
$whiteBackground = imagecolorallocate($background, 255, 255, 255);
imagefill($background,0,0,$whiteBackground);
$use_new_img = imagecreatefromjpeg($new_img);
imagecopyresampled($whiteBackground,$use_new_img,(709-$imageWidth)/2,  (709-$imageHeight)/2, 0, 0,$imageWidth,$imageHeight,$width,$height);
ImageJpeg ($background,"$path/$newName.$file_ext", 85);
于 2013-04-24T13:15:23.097 に答える
0

http://php.net/manual/en/function.imagecopyresampled.phpは、最初の 2 つの引数は と である必要がある$dst_imageと述べています$src_image

$new_imgあなたのコードには存在せず、で作成する必要がありますimagecreatetruecolor();

デフォルトでは、私が信じている白い背景である必要があるため、必要はありませんimagecolorallocate()

于 2012-05-24T11:04:21.653 に答える