我已经尝试了过去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等。
所以,总结一下: 如何在单个图像上放置多个具有数据库中指定坐标的图像?
欢迎所有建议!
这是带有单个缩略图的地图的预览:
答案 0 :(得分:4)
在达伦的帮助下,他终于成功了!我可以再次入睡:)
<?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);
}
?>