0

以下のコードに問題があります。何らかの理由で次のエラーが発生します。

**Warning: imagejpeg() expects parameter 1 to be resource**

次のコードを使用します。

$image = "image1.png";
$output = "filename.jpg";

// Call function
$img = resize_image($image, $output);

function resize_image($file, $output) {
  imagejpeg($img, $output, 60);
}

$output = "filename.jpg";基本的に、出力ファイル名( )を関数に渡そうとしていimagejpeg()ますが、上記のエラーが発生します。

4

3 に答える 3

3

入力パラメータが問題のようです。これを試して:

$image = "image1.png";
$output = "filename.jpg";

// Call function
$img = resize_image($image, $output);

function resize_image($file, $output) {
  imagejpeg(imagecreatefromjpeg($img), $output, 60);
}
于 2012-11-30T19:36:25.893 に答える
1

ドキュメントには、リソースタイプの関数にパラメータを渡す必要があると記載されています。つまり、imagecreatetruecolor()などの画像作成関数を使用して画像リソースオブジェクトを作成する必要があります。

image-imagecreatetruecolor()などの画像作成関数の1つによって返される画像リソース。

http://php.net/manual/en/function.imagejpeg.php

于 2012-11-30T19:31:11.910 に答える
0

非常に単純で、問題は$ outputではなく、入力変数にありました。画像を変換してサイズを変更し$dstます。

imagejpeg($dst, "$output", 60);
于 2012-11-30T19:32:05.983 に答える