我一直在寻找有关使用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);
}
?>
提前感谢您的帮助。
答案 0 :(得分: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);
?>