Donald F. Duck Geplaatst: 9 juni 2010 Rapport Geplaatst: 9 juni 2010 (bewerkt) Ik heb een GD script die ik gebruik om teksten weer te geven in fonts die niet standaard in Windows zitten, maar deze werkt niet helemaal. Dit script moet namelijk de witte achtergrond transparant maken (doet hij ook (imagecolortransparent)), maar, omdat de tekst anti-aliasing heeft, krijg ik de kleuren die net niet wit zijn ook in beeld. Dit is niet erg bij een lichte achtergrond, maar ik heb een plaats met een donkere achtergrond, en daar ziet dit er lelijk uit. Mijn script: <?php if ($_GET['size'] == null) { $size = 20; } else { $size = $_GET['size']; $size += 0; } $im = imagecreate(591, ($size + (($size / 4) + 1))); $tcolor = imagecolorallocate($im, 0, 0, 0); if ($_GET['color'] != null) { $tcolor = $_GET['color']; $tcolor = explode(',', $tcolor); $tcolor = imagecolorallocate($im, $tcolor[0], $tcolor[1], $tcolor[2]); } if ($_GET['text'] == null) { $text = 'Undefined'; } else { $text = $_GET['text']; } $fontsize = 20; $transp = imagecolorallocate($im, 255, 255, 255); $font = 'headertext.ttf'; imagefill($im, 0, 0, $transp); imagecolortransparent($im, $transp); imagettftext($im, $size, 0, 0, $size, $tcolor, $font, $text); header('Content-Type: image/png'); imagepng($im); imagedestroy($im); ?> Ik weet het, het is niet zo mooi gescript, maar hij werkt wel. Edit: Ik heb het al opgelost met een soortgelijk script: <?php if ($_GET['size'] == null) { $size = 20; } else { $size = $_GET['size']; $size += 0; } $im = imagecreatetruecolor(591, ($size + (($size / 4) + 1))); $tcolor = imagecolorallocate($im, 0, 0, 0); if ($_GET['color'] != null) { $tcolor = $_GET['color']; $tcolor = explode(',', $tcolor); $tcolor = imagecolorallocate($im, $tcolor[0], $tcolor[1], $tcolor[2]); } if ($_GET['text'] == null) { $text = 'Undefined'; } else { $text = $_GET['text']; } $fontsize = 20; $transp = imagecolorallocatealpha($im, 255, 0, 0, 127); $font = 'headertext.ttf'; imagesavealpha($im, true); imagefill($im, 0, 0, $transp); imagecolortransparent($im, $transp); imagettftext($im, $size, 0, 0, $size, $tcolor, $font, $text); header('Content-Type: image/png'); imagepng($im); imagedestroy($im); ?> Bewerkt: 11 juni 2010 door Donald F. Duck Reageren
Recommended Posts
Een reactie plaatsen
Je kan nu een reactie plaatsen en pas achteraf registreren. Als je al lid bent, log eerst in om met je eigen account een reactie te plaatsen.