1

我的用户目前可以使用选择框从列表中选择多个项目。我有一段代码检查每个项目的数据库并输出它们的详细信息。

每个项目都有一个图像。这些图像是动态生成的视觉 ID 标签,实际上并未存储在任何地方。我目前正在使用 WideImage PHP 库来生成这些图像。我需要能够为用户选择的项目生成图像,然后将它们组合成一个图像或一个可以放在 A4 大小页面上的网格(用于打印目的)。一张 A4 纸(2 列,4 行)总共可以容纳 8 张这些图像。

我的代码目前如下所示:

for($i=0;$i<count($_POST['print']);$i++){
    $ids = $checkbox[$i];
    $query = "SELECT * FROM items WHERE item_id = '".$ids."'";
    $result = $mysqli->query($query);
    while($row = $result->fetch_assoc()){           
        $item_name = $row['name']; // used when generating image
    }

    // WideImage PHP code (to generate image)
    $image1 = WideImage::load('photos/image1.png')->resize(325, 225); // base image
    $image2 = WideImage::load('photos/image2.png');
    $image3 = WideImage::load($item_name);
    $smaller = $image2->resize('124', '158', 'fill');
    $result = $image1->merge($smaller, "196", "5", 100);
    $finalimage = $result->merge($image3, "12", "1", 100);        
}

我一直坚持到这一点。我不知道如何将这些图像“组合”成一个大图像或将它们单独放入网格中。预先生成图像并将图像的路径存储在数据库中会更容易吗?

即使我确实已经生成了所有图像,我如何将它们组合成一个大图像或网格?

4

1 回答 1

0

您可以将调整大小的图像写入缓存文件夹,然后像使用<img />标签的普通图像一样输出它们。这样,您甚至可以跳过缓存文件夹中已经存在的图像(假设您根据高度和宽度命名它们,e.g. image1-325x225.png

查看如何将图像写入文件:http ://wideimage.sourceforge.net/documentation/saving-images/

将它们输出为 html 后,您可以使用 CSS 设置它们的样式。或者将它们输出为表格。这取决于你。

于 2012-09-26T03:56:18.203 回答