php - 创建图像网格

标签 php javascript jquery image grid

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

每个项目都有一个图像。这些图像是即时生成的视觉 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);        
}

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

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

最佳答案

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

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

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

关于php - 创建图像网格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12594223/

相关文章:

php - 内爆数组的输出不返回第一个实例 (PHP)

javascript - 在 asp.net c# 中运行时添加多个 js 文件

javascript - 如何使用 JavaScript 将 JSON 中的 PHP 时间戳转换为日期和时间

javascript - 在 Javascript 文件中定义和调用 Wscript 函数以在 Windows 脚本宿主中运行

javascript - 使用 jquery onclick 和 mouseup 事件检测长按时如何修复多次执行

jquery - 将事件附加到 JQuery 回调函数内的窗口或文档对象不起作用

PHP 得到警告和错误信息?

php - 是否总是需要在 foreach 之前使用 "is_array()"?

javascript - 控制台中未定义结果

javascript - 使用 AJAX 在 PHP 文件中调用函数,并使用特定于数据库中记录的 ID 来更新记录