从Tiles构建图像

时间:2014-02-07 11:26:19

标签: php gd

我正在网站上工作,我正在尝试使用图片,唯一的问题是制作原始网站的人将所有图片转换为瓷砖,我不知道如何使用它们所以我是试图将其转换回我可以使用的全尺寸图像。 我制作了一些循环遍历文件夹的代码,然后选择列中的所有图像并将它们添加到一个数组中,然后将数据存储在一个数组中,然后我使用这段代码:

$image = imagecreate(1525, 2023);
foreach($tiles as $row => $columns) {
    foreach($columns as $col => $filename) {
        list($w, $h) = getimagesize($filename);
    $tile = imagecreatefromjpeg($filename);
        imagecopy($image, $tile, $row * $w, $col * $h, 0, 0, $w, $h);
    }
}
header('content-type: image/jpeg');
imagejpeg($image);

这样我就可以构建图像,然后看看它是什么构建的(我不想保存它,直到它正确构建图像。)但由于某些原因,当我使用它构建它时,它似乎采取了颜色和详细说明和瓷砖不适合我创建的原始背景图像,我知道它是正确的大小,因为尺寸存储在我读取的xml文件中,然后当我循环创建数组我使用宽度和由xml文件给出的高度作为检查以确保切片适合他们所做的大小。我还在fireworks中构建了图像,看起来应该是这样但是当我使用我的脚本构建它时,它会取出细节和颜色。

如果你因任何原因需要循环代码让我知道,我会编辑它以包含它。但我自己使用存储的文件名创建了数组,但仍然存在相同的错误。

如果有人可以提供帮助,我将不胜感激。

1 个答案:

答案 0 :(得分:0)

我设法使用

来解决问题
$imgdest = imagecreatetruecolor($width, $height); 
imagealphablending($imgdest, false);
imagesavealpha($imgdest, true);

而不是:

$image = imagecreate(1525, 2023);

当我从xml文件中获取tile大小时,我也使用了错误的tile大小。 如果有人遇到类似的问题。