10,119 yorum yapıldı
RSS Aboneliği
Friendfeed
Youtube
E-posta

PHP İle Resim Üzerine Yazı Yazma Scripti

Yazar: | 29 Mart 2009 Pazar 10:51
     

Su üzerine yazı yazılmaz…” fekat PHP sağolsun pek bi hamarat pek bi işlevsel olduğundan bize en azından resim üzerine yazı yazma imkanı sağlıyor. Bu özellik nerelerde kullanılır, ne işe yarar derseniz en çok oyun oynamak ardından istatistik raporlarını bastırmak veya değişken reklam görselleri hazırlamak için kullanılıyor. Bir çoğunuzun yabancı sitelerde rastladığına eminim, altında “Hi! I’m from ISTANBUL…” yazan ve arkadaş aradığını söyleyen güzel hanım avatarlarına. Bizler pek tabi bu tip yanıltıcı kullanımları tasvip etmiyoruz (da kimin umrunda herkesin gözünü para hırsı bürümüş, eskiden istemsiz açılan popuplar baş belasıyken şimdi paso kullanıcıyı yanıltmaya yönelik yöntemler var, kapatma tuşuna bastığınızda sizi reklamveren siteye yönlendiren öğeler gibi).

Sözü fazla uzatmadan gelelim scriptimize. Ben bu olayı pek bi seviyorum, sizlerinde işini göreceğini umuyorum.
Scripti son derece basit ve anlaşılır tuttum, daha önce denediniz veya indirdiniz mi bilmiyorum fakat bu işi nedense hep en zor yoldan halletmeye çalışıyorlar, oysa olay sanıldığından basit.

Kodlarımız aşağıdaki gibi:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?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);

?>

Dilerseniz scripte bir form ekleyerek yazrıdma işlemi gerçekleştirebilirsiniz

1
2
3
4
<form action="resimyaz.php" enctype="application/x-www-form-urlencoded" method="get">
<input name="text" size="15" type="text" style="border: 1px solid #666666" onclick="this.value=''"/>
<input type="submit" value="Resim yaz" />
</form>

Scripti çalıştırmak için yazdırmak istediğimiz metni “resimyaz.php?text=Yazi” şeklinde bir çağırma komutu gönderiyoruz. Ben burda Seogeo Print fontunu kullandım, siz isterseniz Türkçe karakterleri adam gibi gösteren farklı bir font kullanabilirsiniz.

Scriptin çalışan demosu:

İçerisinde hanım kızımızın resminin de bulunduğu script bileşenlerini buradan indirebilirsiniz :)

Benzer Yazılar


37 Yorum » “PHP İle Resim Üzerine Yazı Yazma Scripti”

  1. Evren Bayraktar | EvrenWeb.NET | Evren'ce

    15 Mayıs 2009 [03:00]

    PHP İle Resim Üzerine Yazı Yazma Scripti…

    Sahile, köprüye istediğimiz yazıyı yazdırdığımız birçok site mevcuttu bunları hepimiz biliyoruzdur. Fakat bunu nasıl yapıyorlar merak edenlerimiz varsa Caner arkadaşım blog unda çok güzel anlatmış.
    Aslına bakarsanız çok basit, bi…

    Thumb up 3 Thumb down 0

  2. Egonomik » PHP – Resim üzerine yazılan yazıyı ortalama

    19 Temmuz 2009 [20:07]

    [...] önce şu yazımda ImageCreate fonksiyonu ile bir resmin üzerine basitçe nasıl yazı yazılabileceğini [...]

    Thumb up 1 Thumb down 0

  3. AHMET

    28 Ağustos 2009 [17:50]

    Merhaba eline koluna sağlık ben bu kodu aldım farklı jpg ve font kullandım ama bir türlü yapamadım.
    lafı uzatmayacağım siz acaba *** sitesi tarzında bir scipriti bana yazarmısınız, fiyatı ne olur? Teşekkürler.

    Thumb up 1 Thumb down 0

  4. hakan

    7 Ekim 2009 [04:22]

    Selam bu çalışmayı çok beğendim elinize sağlık.
    Bu çalışmayı gif animasyonu olan bir resime yazdırabilirmiyiz 2 frameli mesela.
     
    http://img198.imageshack.us/img198/1829/testfy.gif  buradaki resim gibi yapabilirmiyiz ?

    Thumb up 1 Thumb down 0

  5. Caner

    7 Ekim 2009 [21:30]

    Pek emin değilim ama bu işi bazı classlar yardımıyla yapabilirsiniz gibi, burdaki gibi kodlarla olacak iş değil ama :)

    Thumb up 1 Thumb down 0

  6. Selim Emre

    4 Kasım 2009 [19:11]

    Caner’cim sana bir soru :)
    Sitedeki resimlerin üzerine otomatik bir yazı eklenmesini istiyorum varmı bildigin boyle bir script…?

    Thumb up 1 Thumb down 0

  7. Caner

    4 Kasım 2009 [22:14]

    Selim’cim o tür bir sistem olup olmadığını bilemiyorum açıkcası araştırmak lazım, eve döndüğüm zaman bir bakayım :)

    Thumb up 0 Thumb down 0

  8. Selim Emre

    4 Kasım 2009 [22:17]

    Sagol ya gerek yok buldum ama şimdi bütün sitenin düzenini bozamam zaten table’yle çalışıyor ie’de farklı mozilla’da farklı opera’yı hiç sorma :)

    Thumb up 0 Thumb down 0

  9. Egonomik » Einstein’a yazı yazdırın

    15 Kasım 2009 [05:26]

    [...] dinamik resim oluşturma bilhassa resim üzerine yazı yazma modası son hız devam ediyor (bkz. şekil 1a) bu güzide Einstein uygulamasını da aynı furya çerçevesinde takdim etmekten onur duyuyorum. [...]

    Thumb up 0 Thumb down 0

  10. gevv

    20 Aralık 2009 [14:50]

    Teşekkürler ufak bir sorum var :)
     
    Yazı yazdırmayı bir upload scriptine entegre edebilirmiyiz ?  yani  resimlere yazı yazarak yükleme yapılabilirmi
     
    resim gönderimi için kullanacağım script: http://shorttext.com/cl5i4kxex

    Thumb up 0 Thumb down 0

  11. Caner

    20 Aralık 2009 [17:19]

    @gevv Tabiki yapılabilir ve hatta bunu geçen seferki detaylı bilgilendirmen hatrına senin için yapacam, ama önce taşınmamız gereken bir server var biraz müsade istiyorum :)

    Thumb up 0 Thumb down 0

  12. gevv

    20 Aralık 2009 [17:30]

    Kolay gelsin :)   teşekkürler

    Thumb up 0 Thumb down 0

  13. gevv

    21 Aralık 2009 [23:46]

    Caner hocam bir gelişme varmı :D   ben bittim yerli yabancı bir sürü site gezdim %89 alıntı kaldık ortada :)

    Thumb up 0 Thumb down 0

  14. Caner

    22 Aralık 2009 [15:05]

    @gevv scripte baktım biraz mıncıklama fırsatı buldum :)

    http://www.cesurbolge.com/test/phUploader.php

     

    Bugün bir fırsatını bulup hallederiz ;)

    Thumb up 0 Thumb down 0

  15. gevv

    23 Aralık 2009 [00:31]

    Teşekkürler caner bende biraz ilerleme kaydettim :)   ama  sorunsuz olurmu olmaz tabi :)
     
    ilk olarak yüklenen resime yazı yazılmıyor bir serim daha yüklenirse diğer resime yazı yazılıyor yani iki yükle 1 yazılsın :)
     
    ikinci sorun sadece jpg  resimlere yazı yazılıyor
     
    diğerleri ise yazıyı sağ alt köşeye almak ve yazının arka planını transparan yapmak şuan yazı siyah bant üzerinde resime ekleniyor :)
     
    yazı yazdırmak için kodları phupload.php dosyasına ekledim
     
    kodlar: http://shorttext.com/b0p5lgdlx8

    Thumb up 0 Thumb down 0

  16. Caner

    23 Aralık 2009 [00:45]

    @gevv ama şimdi olmadı ki e hani sen o diğer scriptle tümleşik istiyordun? Bu kodlar nere o diğer verdiklerin nere :) Diğerinde çoklu dosya yükleniyor (zip, png vs.) bu kodlar ise sadece resim için, sen söylesene “bana sadece resim yükleyen ve o esnada üzerine watermark ekleyen script lazım” diye ben de kasıyorum kodları ayıklayacam şöyle yapacam böyle yapacam diye :)

    Şimdi ben sana bu işi gören bir script hazırlayayım ve hatta siteye de ekleyeyim madem ;)

     

    Thumb up 0 Thumb down 0

  17. gevv

    23 Aralık 2009 [01:31]

    :) teşekkürler caner tümleşik ayrı fark etmezdi bahsettiğim olayı phupload içine ekleyerek çalıştırdım :) benim bilgim olmadığı için en uygun script phuploader oldu çünkü  detaylı ayarları var uzantı boyut kısıtlama şifreleme vb.  zaten resimde yüklüyor dedim :)   bu scripte ekleme ile çözmek istedim
     
    phuploads.php son hali :)
    http://shorttext.com/0cmj8hyyhn

    Thumb up 0 Thumb down 0

  18. Caner

    23 Aralık 2009 [01:36]

    Hehe ellerine sağlık :) Dur ben şimdi sana franteştayn bir script hazırlıyorum kendim de kullanacam :)

    Thumb up 0 Thumb down 0

  19. gevv

    23 Aralık 2009 [19:14]

    Teşekkürler hocam merakla bekliyorum frantestaynupload.php :D

    Thumb up 0 Thumb down 0

  20. orhan

    27 Aralık 2009 [22:16]

    Arkadaşlar bunun türkçe sorununu nasıl çözdünüz. Her yolu denedim nerdeyse ama yinde de Türkçe bazı karakterlerde sorun çıkarıyor

    Thumb up 0 Thumb down 0

  21. Caner

    27 Aralık 2009 [22:19]

    @orhan Türkçe karakterleri destekleyen bir font dosyası kullanırsan sorunun çözülür sanırım.

    Thumb up 0 Thumb down 0

  22. orhan

    27 Aralık 2009 [22:28]

    türkçe fontlarda da  ” ı , ş , ğ  ” harflerinde sorun yaşadım. Destekleyen bildiğiniz bir font  varmı … tşk.

    Thumb up 0 Thumb down 0

  23. Caner

    27 Aralık 2009 [22:33]

    Corbelz fontunu kullanabilirsin, son dönem watermark scriptlerinde bunu kullanıyorum ve Türkçe karakterleri destekliyor.

    http://www.egonomik.com/fonts/corbelz.ttf

    Thumb up 0 Thumb down 0

  24. informatique

    30 Ocak 2010 [20:48]

    merhaba acaba bunu nasıl çoklayabilirim birden fazla yazı girmek istiyorum resime ama beceremedim..

    Thumb up 0 Thumb down 0

  25. Caner

    30 Ocak 2010 [21:20]

    Önce kaç tane yazı girmek istiyorsanız formda o sayıda text inputu oluşturun, isimleri text2, text3 olsun diyelim, ardından scriptin içinden değişkenleri tanımlayın:

     

    $metin2 = $_GET['text2'];
    $metin3 = $_GET['text3'];

     

    gibi, daha sonra imagettftext($resim_yaz, 16, 15, 58, 221, $siyah, $font, $metin); satırını girmek istediğiniz metin sayısı kadar kopyalayıp çoğaltın ve $metin yazan yerlere yeni tanımladığınız $metin2, $metin3 değişkenlerini girin. 58, 221 gibi rakamları değiştirerekte metnin resim üzerindeki koordinatlarını ayarlayın.

    Thumb up 0 Thumb down 0

  26. informatique

    30 Ocak 2010 [21:48]

    olmadı sanırım..
    adres barda nasıl gözükmesi gerekiyor?
    resimyaz.php?text=yazı?text1=yazı 1
    gibi mi?

    Thumb up 0 Thumb down 0

  27. informatique

    30 Ocak 2010 [22:13]

    oldu çok saolun

    Thumb up 0 Thumb down 0

  28. Caner

    30 Ocak 2010 [22:23]

    Aslında sizin için detaylı bir cevap hazırlamıştım ama sitede oluşan teknik bir hata yüzünden gümbürtüye gitti, neyse sonuç olarak çalıştıysa ne sorun yok :)

    Thumb up 0 Thumb down 0

  29. Osman

    19 Mart 2010 [01:25]

    Türkçe karakter desteği olan bir font kullanıyorum. Fakat yine de Türkçe sorununu çözebilmiş değilim. Yardımcı olabilirseniz sevinirim.
    Ayrıca böyle güzel bir şeyi bizle paylaştığınız ve açıkladığınız için kendi adıma teşekkür ederim.

    Thumb up 0 Thumb down 0

  30. kaan

    1 Mayıs 2010 [09:43]

    güzel ama olmuyor

    Thumb up 0 Thumb down 0

  31. Gokhan

    23 Haziran 2010 [14:59]

    Merhaba
    Bu scriptteki arkaplan resminin yerine başka bir resim koyduğumda hata veriyor.
    Yardımcı olabilir misiniz ?
    Birde o resimdeki metnin bulunacağı konumu nasıl belirleyebilriz ?

    Thumb up 0 Thumb down 0

  32. kamaleddin

    18 Mayıs 2011 [18:05]

    fontu yazdırma formundan seçmek mümkün olabilirmi?

    Thumb up 0 Thumb down 0

  33. Caner

    18 Mayıs 2011 [20:10]

    Tabiki olabilir. $font değişkenini $font = $_GET['font']; şeklinde tanımladıktan sonra url’yi ?text=yazi&font=fonts/herhangifont.ttf şeklinde çağırarak bu istediğini yapabilirsin.

    Thumb up 0 Thumb down 0

  34. kamaleddin

    19 Mayıs 2011 [01:36]

    Teşekkür ederim
    Galiba doğru anlatamadım benim istediyim siteye siren üyelerin bunu yapa bilmesiyi.

    Thumb up 0 Thumb down 0

  35. kral

    18 Kasım 2011 [01:08]

    Caner Hocam harika açıklamalar olmuş. Diğer arkadaşlarada katılımlarından dolayı teşekkürler. Php adına harika çalışma olmuş..

    Thumb up 0 Thumb down 0

  36. Hasan

    18 Şubat 2012 [13:31]

    S.a hocam ben bunu yaptım ama yeni resim nasıl eklerim yardımcı olurmusun by_antocio@hotmail.com

    Thumb up 2 Thumb down 0

  37. furkan

    2 Mart 2012 [14:34]

    merhaba hocam ben bunu hallettim tamam ama kendi istediğim yazıyı nasıl yazdırabilirim ve birden çok resim nasıl ekleyebilirim bknz : http://www.erenfazlioglu.com/signyap/ burdaki sing yapma scriptide bu kodu kullanmış ama bunda istediğimiz yazıyı yazdırabiliyoruz birde nasıl yazıyı istediğimiz yere yazdıracağız ?

    Thumb up 1 Thumb down 0

Yorum Bırakın

Önemli! "İsim" alanına sadece isminizi yazın. Anahtar kelime veya site adı kullanmayın, aksi halde yorumunuz yayınlanmaz.

(Gerekli)

(Gerekli / Kimse görmeyecek)