Resimli Atatürk Sözleri
Her sayfada kendini yenileyen resimli Atatürk sözleri.
Daha önce Resimli Sözler ile style kodlarından yararlanarak her sayfada değişen (kendini yenileyen) resimli sözler yapmıştım. Bu uygulamada ise farklı olarak PHP dosyasını img dosyası olarak kullanacağım. Çalışması için php_gd2.dll dosyası eklenti olarak aktif olmalı.
Önce resimli-ataturk-sozleri klasörü oluşturup içine index.php dosyası açıyorum.
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 |
<?php /* ibrahimay.net İbrahim AY Resimli Atatürk Sözleri Scripti */ $soz[]="Ne mutlu Türküm diyene!"; $soz[]="Biz barış istiyoruz dediğimiz zaman tam bağımsızlık dediğimizi herkesin anlaması gerekir."; $soz[]="Biz Türkler, bütün tarihimiz boyunca hürriyet ve istiklâle timsal olmuş bir milletiz."; $soz[]="Türk çocuğu ecdadını tanıdıkça daha büyük işler yapmak için kendinde kuvvet bulacaktır."; $soz[]="Bilelim ki milli benliğini bilmeyen milletler başka milletlere yem olurlar."; $soz[]="Medeni olmayan insanlar, medeni olanların ayakları altında kalmaya mahkumdurlar."; $soz[]="Yüksek Türk! Senin için yüksekliğin hududu yoktur. İşte parola budur."; $soz[]="Biz cahil dediğimiz zaman, mektepte okumamış olanları kastetmiyoruz. Kastettiğimiz ilim, hakikati bilmektir."; $soz[]="Ey kahraman Türk kadını, sen yerde sürünmeye değil, omuzlar üzerinde göklere yükselmeye layıksın."; $soz[]="Kendiniz için değil, bağlı bulunduğunuz ulus için elbirliği ile çalışınız. Çalışmaların en yükseği budur."; $soz[]="Ey Türk Gençliği! Birinci vazifen, Türk istiklâlini, Türk Cumhuriyetini, ilelebet, muhafaza ve müdafaa etmektir."; $soz[]="Hiçbir şeye ihtiyacımız yok, yalnız bir şeye ihtiyacımız vardır; çalışkan olmak!"; $soz[]="Tam bağımsızlık, ancak ekonomik bağımsızlıkla mümkündür."; $soz[]="Büyük başarılar, değerli anaların yetiştirdikleri seçkin çocukların yardımıyla meydana gelir."; $soz[]="Tam bağımsızlık, ancak mali bağımsızlık ile mümkündür."; $soz[]="Zafer, Zafer benimdir diyebilenindir. Başarı ise, Başaracağım diye başlayarak sonunda Başardım diyebilenindir."; $soz[]="Egemenlik verilmez, alınır."; $soz[]="Bu millet hiçbir zaman hür olmadan yaşamamıştır, yaşayamaz ve yaşamayacaktır."; $soz[]="Türk esirlik kabul etmeyen bir millettir."; $soz[]="Büyük şeyleri büyük milletler yapar."; $soz[]="Türk kuvvet ve zekasının yenmediği ve yenemeyeceği güçlük yoktur."; $soz[]="Bilelim ki, elde ettiğimiz başarı, milletin güç birliği etmesinden, ortak hareket etmesinden ileri gelmiştir."; $soz[]="Eğer aynı başarı ve zaferleri gelecekte de tekrarlamak istiyorsak, ayni esasa dayanalım ve aynı şekilde yürüyelim."; $soz[]="Ne mutlu Türküm diyene!"; |
Önce sözleri yazdım. Tasarım için Atamızın resmi solda, sözü sağda olacak formatta düşündüm. Dolayısıyla resimleri buna göre ayarlamam gerekiyor. Aşağıdaki resimleri resimli-ataturk-sozleri klasörümde açtığım atam klasörünün içine atıyorum.
Kayıt ederken resim adları korunmuş olmalı. index.php ye devam ediyorum. Resim ve yazıları rastgele belirleyecek kodları yazıyorum.
30 31 32 |
$resimno=rand(1,13); $resim="atam/atam-".$resimno.".png"; $yazi=$soz[array_rand($soz)]; |
PHP yi img formatına çevireceğim için font dosyası eklemeliyim.
33 |
$font=dirname(__FILE__)."/timesbi.ttf"; |
Font dosyası başka fontta olabilir. C:\Windows\Fonts içinde epey var (Times New Roman) copy/paste ile alıyorum, timesbi haricini siliyorum. İnternetten bir yerlerden de indirebilir. (ne gerek varsa 🙂 ) Dikkat edin çakmasınlar virüsü. Not: Her font Türkçe yazmıyor. En azından şimdilik ben yapamadım.
Şimdi metinler uzun olduğu için satır atlamam lazım. Bunun için metinleri 20 karakteri geçmeyecek şekilde wordwrap ile bölüyorum. Bu bölme fontun genişliği ile de alakalı, başka font kullanırsanız bazı fontlar geniş oluyor 20 sayısını düşürmek gerekebiliyor. Sonra kaç satır olduğunu buluyorum. Satır sayısını yazıyı ortalamak için kullanacağım.
34 35 |
$metin=wordwrap($yazi,20,"\n"); $satirsay=substr_count($metin, "\n")+1; |
Ardından metnin yüksekliğini bulup resimde ortalıyorum.
36 37 |
$yuk=$satirsay*40; $metkonum=((400-$yuk)/2); |
36. satırdaki 40 nedir? Aşağıda tanımlayacağım font büyüklüğüm 30, artı satır atladığım için yüksekliği 30’un biraz üstü ile çarparak hesaplamam gerek. Fonta göre birazda deneme yanılma ile oluyor 🙂 37. satır ise metni dikeyde ortalamak için.
Artık resmi ve yazıları basabilirim. Önce PHP’ye sen resimsin diyorum (aslında tarayıcıya bu resim diyoruz).
38 |
header('Content-type:image/png'); |
Görüntüyü tanıtıyorum.
39 |
$resim_yaz=imagecreatefrompng("$resim"); |
Yazıyı resmin üstüne yazıyorum.
40 41 |
$siyah=imagecolorallocate($resim_yaz,0,0,0); imagettftext($resim_yaz,30,2,410,$metkonum,$siyah,$font,$metin); |
Yukarıda 40. satırdaki siyah, metnin rengi. 41. satırdaki 30 font büyüklüğü , 2 yazının eğimi (0 olsa daha iyi) , 410 ise metnin soldan konumu, $metkonum da yukarıda hesapladığımız üstten konumu. Son olarak görüntüyü çıktılayarak işimi bitiriyorum.
44 45 |
imagepng($resim_yaz); ?> |
Artık tarayıcımda index.php yi açtığımda resmim geliyor. Yeniliyorum, resim ve yazı da değişiyor. Siteme eklemek istersem bildiğiniz gibi ekliyorum işte. Özgün resimler büyük olduğu için resim boyutunu esnek kullanabiliyoruz.
NOT: Eğer dosyanızı UTF-8 olarak kodluyorsanız BOM işareti olmasın, yani BOMsuz kayıt etmeli. (UTF-8 without BOM)
1 |
<img src="http://ibrahimay.net/resimli-ataturk-sozleri/index.php" alt="ATAM" width="300" height="400" /> |
Sağ tık ile yeni segmede açarsam başka resim, sayfayı yenilersem başka resim geliyor.
Hazır dosyaları indirmek isterseniz :
Dosyalar üyelere özeldir: Giriş Yap
Yeni misin? Kayıt ol