Pardus-Linux.Org - Comments for "Python Imaging Library (PIL) örnek ve uygulamaları"
http://www.pardus-linux.org/forum/python-imaging-library-pil-%C3%B6rnek-ve-uygulamalar%C4%B1
Comments for "Python Imaging Library (PIL) örnek ve uygulamaları"trCevap: Re: Python Imaging Library (PIL) örnek ve uygulamaları
http://www.pardus-linux.org/forum/python-imaging-library-pil-%C3%B6rnek-ve-uygulamalar%C4%B1#comment-95894
<p>ayrıca: ilk örnek 2007 yılında yazıldı, açıklamalarsa bugün yazıldı.</p>
<p><span style="font-weight:bold">Bir metin belgesindegi rakamları grafiğe dökmek:</span><br />
Bu uygulama ile bir metin dosyasındaki rakamların grafiğini alabilirsiniz, grafiğin genişliği metin belgesindeki rakamların sayısının 10 katı olacaktır.</p>
<pre class="bb-code-block"># -*- coding: cp1254 -*-
import Image,ImageDraw
dosya = open("/rss/forum_yorum/node/13048/veri.txt","r") #sayilarin bulundugu yazı dosyası
okunan = dosya.read() #dosya okunuyor...
renk = 230,150,150 #arka plan çizgi rengi
yeni = Image.new("RGB",(len(okunan)*10,100),(255,255,255))
# yukarıda çizim yapılacak grafik hazırlanmıştır.
# çözünürlük tespiti //x düzlemi //:(len(okunan),
# kullanımı:(GRAFİK_TÜRÜ,(ÇÖZÜNÜRLÜK),(ARKAPLAN_RENGİ))
cizim = ImageDraw.Draw(yeni)
boyut = yeni.size
# oluşturulan grafiğin boyutu alınıyor...
# grafiğin arka planındaki kareler çiziliyor:
for x in range(0,boyut[0],10): #yatay çizgiler...
cizim.line([(x,0),(x,boyut[1])],renk)
for y in range(0,boyut[1],10): #dikey çizgiler.
cizim.line([(0,y),(boyut[0],y)],renk)
l=1
x=0
for a in range(len(okunan)):
l=-1*l
k0=x,100-(int(okunan[a])*10)#eger okunan "5" ise yükeseklik: "50" piksel
k1=x-10,100-(int(okunan[a-1])*10)# yönünün doğru olması için: 100 - (int(okunan[a-1])*10
if a<>0:
cizim.line([(k0),(k1)],(0,0,0))
x=x+10
yeni.save("/rss/forum_yorum/node/13048/sonuc.gif") #çizilen grafik gif formatında kaydedildi // png, bmp, jpg...
</pre><p>
<span style="font-size:48px"><span style="color:#FF0000">Yukarıdaki kodun iyileştirmeye ihtiyacı var...</span></span></p>
<p>veri.txt dosya içeriği: <br />
<span class="geshifilter"><code class="text geshifilter-text">3141592653589793238462643383279502884</code></span></p>
<p><span style="font-weight:bold">Sonuç:</span><br />
<img src="http://img134.imageshack.us/img134/8013/sonucup9.gif" alt="" class="bb-image" /></p>
Sun, 25 Sep 2011 22:06:30 +0000osxcomment 95894 at http://www.pardus-linux.orgCevap: Re: Python Imaging Library (PIL) örnek ve uygulamaları
http://www.pardus-linux.org/forum/python-imaging-library-pil-%C3%B6rnek-ve-uygulamalar%C4%B1#comment-95892
<p>Sitelerde belirli yerlere yerleştirilen güvenlik grafiklerini bilirsiniz... bu örnekte rastgele güvenlik grafikleri üreten bir uygulamayı sizlere anlattım.</p>
<pre class="bb-code-block"># -*- coding: cp1254 -*-
import Image,ImageDraw,ImageFont,random
arkaplan = map(random.randrange,[255,255,255])
# map fonksiyonu ile randrange fonksiyonuna 3 renk
# kanali icin (RGB) deger atmasını istedik.
# python 3000 için kullanımı;
##arkaplan = list(map(random.randrange,[255,255,255]))
grafik = Image.new("RGB",(80,20),(arkaplan[0],arkaplan[1],arkaplan[2]))#arkaplan grafiği uluşturuldu
boyama = ImageDraw.Draw(grafik)
# yukarıda "grafik" boyama fonksiyonları için hazırlandı
font = ImageFont.truetype("courier.ttf",20) #font dosyası,font boyutu
# yukarıda font yüklendi, "courier.ttf" font
# dosyasının uygulama ile aynı klasörde olması lazım
karakterler = random.sample(["1","2","3","4","5","a","c","d","e","f","g","A","B","C"], 4)
# yukarıda rastgele dört* karakter seçildi, bu karakterler
# for döngüsü ile "grafik"e yazılacak.
artan = 0 #karakter arası boşluğu tutan değişken...
for x in karakterler:
renk = map(random.randrange,[255,255,255]) #her döngüde rastgele renk (R,G,B)
boyama.text((artan, 0),x, font=font,fill=(renk[0],renk[1],renk[2])) #Boyama işlemi
artan = artan+20 #boşluk
grafik.save("sonuc.bmp")
# grafik kaydedildi.
</pre><p>
yukarıdaki uygulamayı geliştirebilirsiniz, konumu da rastgele belirlenir hale getirebilirsiniz mesela... </p>
<p><span style="font-weight:bold">Sonuç:</span><br />
<img src="http://img230.imageshack.us/img230/4149/sonuciq0.png" alt="" class="bb-image" /></p>
Sun, 25 Sep 2011 22:06:23 +0000osxcomment 95892 at http://www.pardus-linux.orgCevap: Re: Python Imaging Library (PIL) örnek ve uygulamaları
http://www.pardus-linux.org/forum/python-imaging-library-pil-%C3%B6rnek-ve-uygulamalar%C4%B1#comment-95889
<p>-Benek etkisi</p>
<pre class="bb-code-block"># -*- coding: cp1254 -*-
import Image,ImageDraw,ImageFilter,ImageChops
deger = 4
aralik = deger*2
kare = 0
grafik = "S30100072.JPG"
tur = "elips" # veya "dikdörtgen
kaplama_rengi=(255,0,255) #"#000000"
grafik=Image.open(grafik) #grafik açıldı.
grafik = grafik.filter(ImageFilter.BLUR) #doğru renk tahmini için yumuşatma etkisi.
boyut = grafik.size #grafiğin boyutu belirlendi.
yeni=Image.new("RGB",boyut) #çizim yapılacak yeni grafik yazırlandı.
boya = ImageDraw.Draw(yeni) #"yeni" grafiği çizim fonksiyonlarının kullanımı için hazırlandı.
y_duzlem = list(xrange(deger,boyut[1],aralik)) #y düzlem aralığı belirlendi:
# yukarida y düzlemi için liste hazırlandı, x düzleminde
# kullanılan xrange fonksiyonu bir kere çalişacaktır fakat
# alt dongu her "x düzlemi dongüsünde" tekrar tekrar çalışacaktır
# bu da performans kaybi demektir, eski kullanim:
##for a in range(deger,boyut[0],aralik):
## for b in range(deger,boyut[1],aralik):
## ...
# performans acisindan range fonksiyonu yerine xrange
# fonksiyonu tercih edilmistir -ki bu fonksiyon python 3000'de
# "range" olarak gecer.
for a in xrange(deger,boyut[0],aralik): #x düzlem döngüsü.
for b in y_duzlem:
renk=grafik.getpixel((a,b))
if tur=="elips": #...ise elips çizen fonksiyon:
boya.ellipse([(a-deger,b-deger),(a+deger,b+deger)],renk)
if tur=="dikdörtgen": #...ise dikdörtgen çizen fonksiyon:
boya.rectangle([(a-deger,b-deger),(a+deger,b+deger)],renk)
yeni.save("/rss/forum_yorum/node/13048/sonuc.jpg",quality=90) # boyanan grafik kaydedildi.
</pre><p>
<span style="font-weight:bold">orijinal:</span><br />
<img src="http://img140.imageshack.us/img140/6666/s30100072as4.jpg" alt="" class="bb-image" /><br />
<span style="font-weight:bold">Sonuç:</span><br />
<img src="http://img137.imageshack.us/img137/6789/sonucpf6.jpg" alt="" class="bb-image" /></p>
Sun, 25 Sep 2011 22:06:18 +0000osxcomment 95889 at http://www.pardus-linux.orgRe: Python Imaging Library (PIL) örnek ve uygulamaları
http://www.pardus-linux.org/forum/python-imaging-library-pil-%C3%B6rnek-ve-uygulamalar%C4%B1#comment-95893
<p>Denedim ve çalışıyor. <img src="/sites/all/modules/smileys/packs/Roving/cool.png" title="Cool" alt="Cool" class="smiley-content"/gt__Oumlzguumlrluumlkiccedilin_forumunda_ccedil/index.html"/sites/all/modules/smileys/packs/Roving/lol.png" title="Laughing out loud" alt="Laughing out loud" class="smiley-content"/gt_ltimg_src/index.html"/sites/all/modules/smileys/packs/Roving/lol.png" title="Laughing out loud" alt="Laughing out loud" class="smiley-content"/></p>
Mon, 02 Jun 2008 14:14:17 +0000Melencomment 95893 at http://www.pardus-linux.orgRe: Python Imaging Library (PIL) örnek ve uygulamaları
http://www.pardus-linux.org/forum/python-imaging-library-pil-%C3%B6rnek-ve-uygulamalar%C4%B1#comment-95891
<p>Python hakkında bilgi sahibi olan yeni birini görmek güzel :mrgreen: Derslerin devamını bekliyoruz. Başka modüllerde dahil :mrgreen:</p>
Mon, 02 Jun 2008 11:05:25 +0000Melencomment 95891 at http://www.pardus-linux.orgRe: Python Imaging Library (PIL) örnek ve uygulamaları
http://www.pardus-linux.org/forum/python-imaging-library-pil-%C3%B6rnek-ve-uygulamalar%C4%B1#comment-95890
<p>osx, eline sağlık. Sayende epey zayıf olduğum bir konuyu öğrenme imkanı elde edeceğim... <img src="/sites/all/modules/smileys/packs/Roving/smile.png" title="Smile" alt="Smile" class="smiley-content"/></p>
Mon, 02 Jun 2008 10:09:37 +0000istihzacomment 95890 at http://www.pardus-linux.org