2011-12-06 13 views
0

Googleマップを使用しているプロジェクトにいくつか問題があります。PHP動的画像に不適切な境界がある

私は地図の機能性をすべて把握しており、うまくいきます。動的に生成されたアイコンをマップに追加したいのですが、PHPを使ってアイコンイメージに必要なテキストを動的に追加する方法もわかりました。

ただし、アイコンは追加したいテキストを超えて変更されています。そのようなことをしなければならないPHPコードに何もないときは、元のまわりの境界線がはるかに太くなります。この投稿に添付した画像は、2つのアイコンを示しています。一番上のアイコンは元のもので、一番下のものはPHPスクリプトによってテキストが追加されています。太い境界線に注目してください。

screenshot

ここに私の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); 
?> 

このすべては、イメージがちょうどテキストを追加することを超えて変更された以外、動作していることに注意してください。本当に太い枠線がなければ、アイコンはもっとよく見えます。

答えて

2

これが当てはまる場合はわかりませんが、最初の画像が丸みを帯びたコーナーの効果を得るためにマージンで透明を使用した場合に発生する可能性があります。最初の画像から透明性を維持したい場合は、他の機能も調べる必要があります。このようなものが役立つはずです:

imagealphablending($im, false); 
imagesavealpha($im, true); 

*右

+0

うわーをimagecreatefrompngした後、あなたは天才です!それは魅力のように働いた。解決策はそれほど簡単ではないと思いました。まあ、私は今日何か新しいことを学んだ。ありがとうございました!! –

+0

@SherwinFlight歓迎です、私はそれがうれしいです – mishu

関連する問題