1

次のPHPスクリプトを使用して画像のサイズを変更しようとしています。

$tn = imagecreatetruecolor(1836, 3264);
$newImage = imagecreatefromjpeg('user/354010050076877/2.jpg');
imagecopyresampled($tn, $newImage, 0, 0, 0, 0, 1836, 3264, 739, 1162);
imagejpeg($tn, 'MyFile.jpg');

画像はMyFile.jpgで作成されますが、元のサイズのままです。

また、4行目を...に置き換えてみました。

file_put_contents('MyFile.jpg', $tn);

それを試してみると

「警告:file_put_contents():指定されたリソースは6行目の/home/content/01/7258201/html/imgTools/resize.phpの有効なストリームリソースではありません。」

画像のサイズ変更を機能させるには、スクリプトで何を変更する必要がありますか?

編集:

'imagecopyresampled'の値の順序を混ぜていましたが、それらを切り替えた後でも、実際には正しくサイズ変更されていないため、これに対する適切な修正を探しています。詳細については、私自身の回答を参照してください。

4

3 に答える 3

3

これを試して:

$tn = imagecreatetruecolor(739, 1162); // the first line in your script
于 2013-02-22T22:40:56.807 に答える
0

私はあなたのスクリプト(imagejpegを使用しているもの)をテストしました、そしてそれは私の側で動作します。したがって、おそらくGDライブラリの構成/設定に何かがあります...

于 2013-02-22T22:26:13.213 に答える
0

問題は、新しい幅と高さに間違った値を入力し、それらを古い変更と混合していたことでした。

imagecopyresampled($tn, $newImage, 0, 0, 0, 0, 1836, 3264, 739, 1162);

imagecopyresampled($tn, $newImage, 0, 0, 0, 0, 739, 1162, 1836, 3264);

古い画像のサイズをより大きな黒いスペースに変更するため、まだ完全には機能していないと思います。

ここに画像の説明を入力してください

于 2013-02-22T22:30:55.823 に答える