<?php
// PHP Resim Üzerine Yazı Yazma
// Herhangi bir resim üzerine yazı yazabilirsiniz.
// Caner ÖNCEL - http://www.egonomik.com
// Kullanım:
// Yazılmak istenen metni $_GET ile çağırıyoruz
// Örnek: resimyaz.php?text=Merhaba Dünya
$resim = "bg_resim.png"; // Üzerine yazılacak resmi seçiyoruz
$font = "fonts/segoepr.ttf"; // Font dosyası ve yolunu tanımlıyoruz
$golge = "true"; // Resme gölge eklemek istiyosanız "true" istemiyorsanız boş
$text = $_GET['text'];
if(empty($text)) {
$metin = "Metin yazin!"; }
else {
$metin = "$text"; }
header('Content-type: image/png');
$resim_yaz = imagecreatefrompng("$resim");
// Yazı ve gölgenin renk hex kodlarını belirliyoruz
$gri = imagecolorallocate($resim_yaz, 170, 170, 170);
$siyah = imagecolorallocate($resim_yaz, 0, 0, 0);
if ($golge == "true") {
imagettftext($resim_yaz, 16, 15, 59, 222, $gri, $font, $metin); }
imagettftext($resim_yaz, 16, 15, 58, 221, $siyah, $font, $metin);
imagepng($resim_yaz);
imagedestroy($resim_yaz);
?> Php ile resim üzerine yazı yazma sorunu
4
●3.460
- 12-07-2010, 22:07:59Kendi localimde ve satın aldığım sunucuda bu işlemi gerçekleştiremiyorum, "xxx/resimyaz.php" grafik dosyası hatalı olduğu için gösterilemiyor." hatası alıyorum. Fakat kiralamış olduğum hostta kodlar sorunsuz bir şekilde çalışıyor.Php veya apache ile alakalı bir sorun olabilir mi? Şimdiden teşekkürler...Bu arada kodlarda şunlar:
- 12-07-2010, 23:04:11Eposta Aktivasyonu GerekmekteFont yolunun doğru olduğuna emin misiniz?
imagettftext fonksiyonunu kullanırken tanimladığınız fontun, belirttiğiniz dizinde olması gerekir. - 14-07-2010, 21:27:19Daha önce benimde başıma gelmişti. şu kodu hazırladığınız kodun üst kısmına yerleştirerek tekrar deneyin.
putenv('GDFONTPATH=' . realpath('./fonts')); $dir=opendir('./fonts/');//fontun bulunduğu dizin if($dir) while($f=readdir($dir)){ if(preg_match('/\.ttf$/',$f)){ $font=explode('.',$f); define($font[0],realpath('./fonts/'.$f)); } } if($dir) closedir($dir);kodu bu şekilde ayarladıktan sonra fontunuzun ismini yazdığınız kısımda sadece fontun yalın halini kullanın. İlgili satır şu şekilde olmalı
imagettftext($resim_yaz, 16, 15, 59, 222, $gri, segoepr, $metin); } imagettftext($resim_yaz, 16, 15, 58, 221, $siyah, segoepr, $metin);