由于我对 PHP 还很陌生,因此我一直在寻找一些有关在 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);
}
?>
预先感谢您的帮助。
最佳答案
将 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);
?>
关于php - 在 PHP 中合并多个相邻的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17903561/