php - 在 PHP 中合并多个相邻的图像

标签 php image png

由于我对 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/

相关文章:

php - 全日历 - 重复发生的事件

php - 在 PHP 的关联数组中是否有类似 keypath 的东西?

javascript - 如何更改 JSPsych 中刺激呈现的权重?

javascript - 使并排图像在移动设备上移动为垂直图像

.net - 将多页 TIFF 转换为 PNG .Net

php - 从使用 imagepng() 创建的 PNG 中获取 Alpha

html - IE7 png 图像加载但出现 'image not found' 红色 x

php - 如何将 php 数组索引设置为数组值...?

php - 选择没有值的所有行

html - css:避免图像悬停第一次闪烁