私はいくつかの画像をキャンバスにコピーしてファイルに保存する機能を持っています。私のコードは投稿の一番下にあります。PHPのキャンバスにたくさんの画像をコピーするにはどうしたらいいですか?
コードは、キャンバスに15枚の画像をコピーしようとするとうまく動作しますが、コピーしようとするとちょうど停止します。エラーまたは例外はありません...
私はあなたの1が:)
$img = imagecreatefromjpeg($image);
$imgWidth = imagesx($img);
$imgHeight = imagesy($img);
// CREATE CANVAS AND FILL WITH WHITE
$canvas = imagecreatetruecolor($guidelines['canvasW'] * $dpi, $guidelines['canvasH'] * $dpi);
$color = imagecolorallocate($canvas, 255, 255, 255);
imagefill($canvas, 0, 0, $color);
// COPY THE IMAGES ONTO THE CANVAS
foreach($guidelines['imageGuide'] as $guide):
$bestFit = bestFit($imgWidth, $imgHeight, $guide['W'] * $dpi, $guide['H'] * $dpi);
if($bestFit['rotate']) {
$output = imagerotate($img, 90, 0);
} else {
$output = imagerotate($img, 0, 0);
}
imagecopyresampled($canvas, $output, $guide['X'] * $dpi, $guide['Y'] * $dpi, 0, 0, $bestFit['x'], $bestFit['y'], imagesx($output), imagesy($output));
imagedestroy($output);
endforeach;
$ガイドライン私を助けることを願って配列です。ここで私はあなたがこの仕事にあまりにも多くのRAMを使用していることを推測するつもりだキャンバス
$guidelines = array( 'canvasW' => 20,
'canvasH' => 30,
'imageGuide' => array(
array('W' => 18, 'H' => 13, 'X' => 1, 'Y' => 1.5),
array('W' => 3.5, 'H' => 4.5, 'X' => 1.25, 'Y' => 15),
array('W' => 3.5, 'H' => 4.5, 'X' => 4.75, 'Y' => 15),
array('W' => 3.5, 'H' => 4.5, 'X' => 8.25, 'Y' => 15),
array('W' => 3.5, 'H' => 4.5, 'X' => 11.75, 'Y' => 15),
array('W' => 3.5, 'H' => 4.5, 'X' => 15.25, 'Y' => 15),
array('W' => 3.5, 'H' => 4.5, 'X' => 1.25, 'Y' => 19.5),
array('W' => 3.5, 'H' => 4.5, 'X' => 4.75, 'Y' => 19.5),
array('W' => 3.5, 'H' => 4.5, 'X' => 8.25, 'Y' => 19.5),
array('W' => 3.5, 'H' => 4.5, 'X' => 11.75, 'Y' => 19.5),
array('W' => 3.5, 'H' => 4.5, 'X' => 15.25, 'Y' => 19.5),
array('W' => 3.5, 'H' => 4.5, 'X' => 1.25, 'Y' => 24),
array('W' => 3.5, 'H' => 4.5, 'X' => 4.75, 'Y' => 24),
array('W' => 3.5, 'H' => 4.5, 'X' => 8.25, 'Y' => 24),
array('W' => 3.5, 'H' => 4.5, 'X' => 11.75, 'Y' => 24),
array('W' => 3.5, 'H' => 4.5, 'X' => 15.25, 'Y' => 24),
),
);
エラーレポートはありますか? ... –
あなたのエラーログをチェックして、あなたのアプリケーションの中に 'error_reporting(0)'を入れてみてください、どこかにトレースがあるはずです – RobertPitt
$ dpiはどこにでも定義されていますか?サンプルで使用しますが、設定しないでください。 –