【问题标题】:Adding multiple images on single image (with data from database)在单个图像上添加多个图像(使用数据库中的数据)
【发布时间】:2015-12-01 02:48:26
【问题描述】:

我在过去 3 天里尝试了所有我知道的东西,但无法弄清楚,所以我希望有人能在这方面帮助我。

我想从数据库中获取多条记录。在数据库中,每条记录都有指向缩略图、x 坐标和指定 y 坐标的链接。

必须从建筑物的空白地图 (plattegrond.jpg) 开始创建图像(建筑物的地图)。然后,必须添加多个缩略图,其中包含数据库中指定的坐标上的数字(见下图)。添加所有缩略图后,必须将其保存为 Project1.jpg 之类的文件。

$emptymap = "plattegrond.jpg"; // this is a map of a building
$newmap = "Project1.jpg"; // this must be the new map with the images

header('Content-type: image/jpeg');
$im = @imagecreatefromjpeg('maps/'.$emptymap) or die("Cannot Initialize new GD image stream");
$im2 = @imagecreatefromjpeg('thumbnails/'.$linkToThumbnail);
imagecopy($im, $im2, $xcoord, $ycoord, 0, 0, imagesx($im2), imagesy($im2));
imagejpeg($im, 'maps/'.$newmap, 100);
imagedestroy($im);
imagedestroy($im2);

缩略图已经存在,都是以1.jpg、2.jpg、3.jpg等格式保存的小图

总之: 如何在单个图像上放置多个带有坐标的图像,这些图像在数据库中指定?

欢迎所有建议!

这是带有单个缩略图的地图预览:

【问题讨论】:

  • This 在使用坐标设置图像方面似乎有些熟悉
  • 他们使用循环。我也试过了,但除了错误什么都没有。但我会再试一次。感谢您的链接

标签: php image


【解决方案1】:

在 Darren 他的链接的帮助下,我终于弄明白了!我又可以睡觉了:)

<?php
$coords = array
   (
   array("2","100","200"),
   array("3","200","100"),
   array("4","250","30"),
   array("5","134","90")
   );
$arrlength = count($coords);

$map = "Project2.jpg";

for($x = 0; $x < $arrlength; $x++) {
    addThumb($map, $coords[$x][0], $coords[$x][1], $coords[$x][2]);
}

function addThumb($map, $thumb, $xcoord, $ycoord)
{ 
 $thumb .= ".jpg";
 $imMap = imagecreatefromjpeg('maps/'.$map);
 $imThumb = imagecreatefromjpeg('thumbnails/'.$thumb);
 imagecopy($imMap, $imThumb, $xcoord, $ycoord, 0, 0, imagesx($imThumb), imagesy($imThumb));
 imagejpeg($imMap, 'maps/'.$map, 100);
 imagedestroy($imMap);
 imagedestroy($imThumb);
}
?>

【讨论】:

  • 不错!很高兴链接有所帮助!
猜你喜欢
  • 1970-01-01
  • 2019-02-13
  • 1970-01-01
  • 2018-06-26
  • 2023-04-03
  • 2021-06-09
  • 2021-01-19
  • 1970-01-01
  • 2011-08-14
相关资源
最近更新 更多