Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP动态图像有不需要的边框_Php_Google Maps_Google Maps Api 3_Icons_Image Manipulation - Fatal编程技术网

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将我想要的文本动态添加到图标图像中

但是,图标的更改超出了我要添加的文本。当PHP代码中没有任何类似的操作时,原始代码周围的边框会变得更厚。我贴在这篇文章上的图片显示了这两个图标。顶部的图标是原始图标,底部的图标由我的PHP脚本添加了文本。请注意较厚的边框

以下是我的PHP代码:

<?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之后

哇,你真是个天才!它就像一个符咒。没想到解决办法会这么简单。我今天学到了一些新东西。非常感谢。