PHP动态图像有不需要的边框
我在使用谷歌地图做的一个项目中遇到了一些问题 我把地图的功能都弄清楚了,而且效果很好。我想将动态生成的图标添加到地图中,我已经知道了如何使用PHP将我想要的文本动态添加到图标图像中 但是,图标的更改超出了我要添加的文本。当PHP代码中没有任何类似的操作时,原始代码周围的边框会变得更厚。我贴在这篇文章上的图片显示了这两个图标。顶部的图标是原始图标,底部的图标由我的PHP脚本添加了文本。请注意较厚的边框 以下是我的PHP代码:PHP动态图像有不需要的边框,php,google-maps,google-maps-api-3,icons,image-manipulation,Php,Google Maps,Google Maps Api 3,Icons,Image Manipulation,我在使用谷歌地图做的一个项目中遇到了一些问题 我把地图的功能都弄清楚了,而且效果很好。我想将动态生成的图标添加到地图中,我已经知道了如何使用PHP将我想要的文本动态添加到图标图像中 但是,图标的更改超出了我要添加的文本。当PHP代码中没有任何类似的操作时,原始代码周围的边框会变得更厚。我贴在这篇文章上的图片显示了这两个图标。顶部的图标是原始图标,底部的图标由我的PHP脚本添加了文本。请注意较厚的边框 以下是我的PHP代码: <?php // GETS THE NUMBER TO AD
<?php
// GETS THE NUMBER TO ADD TO THE ICON
$number = $_GET['number'];
// THE SOURCE OF THE ICON THAT I WANT TO ADD THE TEXT TO
$src = $_GET['src'];
header ("Content-type: image/png");
$font = 4;
$im = imagecreatefrompng($src);
// POSITION THE TEXT TO THE PREFERRED LOCATION
$x = 5 ;
$y = 2;
$textColor = imagecolorallocate ($im, 0, 0,0);
imagestring ($im, $font, $x, $y, $number, $textColor);
imagepng($im);
?>
请记住,所有这些都是有效的,除了图像被更改,而不仅仅是添加文本。如果没有很厚的边框,图标看起来会更好。我不确定是否会出现这种情况,但如果您的初始图像在边距处使用透明度以获得圆角效果,则可能会出现类似情况。如果要保持初始图像的透明度,还需要研究其他功能。类似这样的事情应该会有所帮助:
imagealphablending( $im, false );
imagesavealpha( $im, true );
*就在imagecreatefrompng之后哇,你真是个天才!它就像一个符咒。没想到解决办法会这么简单。我今天学到了一些新东西。非常感谢。