2

我一直在寻找一些关于在 PHP 中处理图像的有用技巧,因为我对它还很陌生。

我有一个包含 7 个大小相同的图像的文件夹;35 x 75。我想随机选择其中的 6 个,并将它们放在 x 轴上,作为一张图像。

这是我想出的,但我不确定目前出了什么问题。我以前使用过 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 回答