【问题标题】:How do you generate a tile map with imagecreate from a php upload?如何从 php 上传中使用 imagecreate 生成平铺地图?
【发布时间】:2022-06-15 05:01:50
【问题描述】:

我有一个接受多个文件上传的上传表单。每个文件都是 32px x 32px,我正在尝试生成一个包含网格中每个图像的图像。每行允许 30 个图块,列大小是根据上传的图块数量计算的。例如,如果有 120 张图片,则有 4 列。

我面临的问题是,我似乎无法计算 imagecopy 中每个图块的位置。我收到错误消息:第二个 foreach 循环的“foreach() 参数必须是数组|对象类型,给定字符串”。

<?php
$num_files = count($_FILES['myFiles']['tmp_name']);

$image = imagecreate(960, ceil(round(30 / $num_files)));

foreach($_FILES['myFiles']['tmp_name'] as $row => $columns) {
    foreach($columns as $col => $filename) {
        $tile = imagecreatefrompng($filename);
        imagecopy($image, $tile, $row * 32, $col * 32, 0, 0, 32, 32);
    }
}

header('Content-Type: image/png');
imagepng($image);

【问题讨论】:

  • 你能print_r( $_FILES ); 让我们看看你的数组开始的样子吗? -- 显然foreach($_FILES['myFiles']['tmp_name'] as $row =&gt; $columns) {$columns 设置为字符串而不是数组。

标签: php foreach imagecreatefrompng


猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-23
相关资源
最近更新 更多