“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 :)
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.
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 ?
Pek emin değilim ama bu işi bazı classlar yardımıyla yapabilirsiniz gibi, burdaki gibi kodlarla olacak iş değil ama :)
Caner’cim sana bir soru :)
Sitedeki resimlerin üzerine otomatik bir yazı eklenmesini istiyorum varmı bildigin boyle bir script…?
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 :)
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 :)
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
@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 :)
Kolay gelsin :) teşekkürler
Caner hocam bir gelişme varmı :D ben bittim yerli yabancı bir sürü site gezdim %89 alıntı kaldık ortada :)
@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 ;)
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
@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 ;)
:) 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
Hehe ellerine sağlık :) Dur ben şimdi sana franteştayn bir script hazırlıyorum kendim de kullanacam :)
Teşekkürler hocam merakla bekliyorum frantestaynupload.php :D
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
@orhan Türkçe karakterleri destekleyen bir font dosyası kullanırsan sorunun çözülür sanırım.
türkçe fontlarda da ” ı , ş , ğ ” harflerinde sorun yaşadım. Destekleyen bildiğiniz bir font varmı … tşk.
Corbelz fontunu kullanabilirsin, son dönem watermark scriptlerinde bunu kullanıyorum ve Türkçe karakterleri destekliyor.
http://www.egonomik.com/fonts/corbelz.ttf
merhaba acaba bunu nasıl çoklayabilirim birden fazla yazı girmek istiyorum resime ama beceremedim..
Ö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.
olmadı sanırım..
adres barda nasıl gözükmesi gerekiyor?
resimyaz.php?text=yazı?text1=yazı 1
gibi mi?
oldu çok saolun
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 :)
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.
güzel ama olmuyor
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 ?
fontu yazdırma formundan seçmek mümkün olabilirmi?
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.
Teşekkür ederim
Galiba doğru anlatamadım benim istediyim siteye siren üyelerin bunu yapa bilmesiyi.
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ş..
S.a hocam ben bunu yaptım ama yeni resim nasıl eklerim yardımcı olurmusun by_antocio@hotmail.com
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 ?
yazı fontunu nasıl ayarlarız.
Peki font ölçüsünü nasıl belirleriz. Yani “fontsize” olayını.
Şu rakamlardan biri font büyüklüğünü temsil ediyor:
imagettftext($resim_yaz, 16, 15, 59, 222, $gri, $font, $metin); }
Detaylı bilgi için:
http://www.php.net/manual/tr/function.imagettftext.php
Teşekkür ederim. Allah razı olsun!
Peki bu resmin üzerine yazılanlar kaydoluyor mu Caner abi ? Sonuçta rezil olabilecek bir ton adam tanıyorum :D
Hehe malesef :)
Merhaba egonomik com scripti kullanıyorum çok güzel ama resmi değiştirdim fakat yazıya yon nasıl verebılırım tabela resmi koydum tabelada sağ ust tasafta birde düz bunu nasıl ayarlayabiliriz