2

私はPHPにかなり慣れていないので、PHPで画像を操作する際に役立つヒントを探していました。

すべて同じサイズの 7 つの画像のフォルダーがあります。35 x 75。そのうちの 6 つをランダムに選択し、x 軸上に並べて 1 つの画像として配置したいと考えています。

これが私が思いついたものですが、現時点では何が問題なのかわかりません。以前に PHP を使用したことがありますが、画像関数を使用したことはありません。

<?php
header('Content-Type: image/png');

$numbers = array(1, 2, 3, 4, 5, 8, 9);

$random1 = rand(0, 6);
$random2 = rand(0, 6);
$random3 = rand(0, 6);
$random4 = rand(0, 6);
$random5 = rand(0, 6);
$random6 = rand(0, 6);

$newid = array($numbers[$random1], $numbers[$random2], $numbers[$random3], $numbers[$random4], $numbers[$random5], $numbers[$random6]);

$count = 0;
foreach($newid as $imageSrc) {
    $count++;
    $image = imagecreatefrompng("numbers/" . $imageSrc . ".png");
    imagecopymerge($dest, $image, (35*$count), 0, 0, 0, imagesx($image), imagesy($image), 100);
    imagepng($dest);
}

?>

助けてくれてありがとう。

4

1 に答える 1

2

imagepngループの外に置く:

<?php
header('Content-Type: image/png');

$numbers = array(1, 2, 3, 4, 5, 8, 9);

shuffle($numbers);
$newid=array_slice($numbers,0,6);

$count = 0;
$dest=imagecreatetruecolor(35*6,75);
foreach($newid as $imageSrc) {

    $image = imagecreatefrompng("numbers/" . $imageSrc . ".png");
    imagecopymerge($dest, $image, (35*$count), 0, 0, 0, imagesx($image), imagesy($image), 100);
    $count++;
}
imagepng($dest);

?>
于 2013-07-27T23:44:15.410 に答える