kodun içerisinde kısmen de olsa kullandığım için bilgi vermek istiyorum. pil (python imaging library) adı altında bir başka kütüphan daha mevcut python altında grafik ile ilgili. ama bu çizimden ziyade resim işlemleri, efektler ve tip dönüşümleri üzerine çalışıyor.
örneğimizde, pycairo'yu kullanarak, bir metin dosyasındaki (yazı.txt) metin alınıp efektler uygulanarak çizdiriliyor. daha sonra bu çizdirilen resim bir dosya olarak kaydediliyor.
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import cairo
import Image
ekranx = 1024
ekrany = 768
fontsize = 20
def main():
golge()
def goster():
i = Image.open("o.png")
i.show()
def golge():
surface = cairo.ImageSurface(cairo.FORMAT_ARGB32, ekranx, ekrany)
c = cairo.Context(surface)
c.set_source_rgba (0.1, 0.5, 0.7, 1)
c.paint_with_alpha (1)
c.fill()
f = open("yazı.txt", "r")
yazi = f.read()
c.select_font_face("meta bold turk", cairo.FONT_SLANT_NORMAL, cairo.FONT_WEIGHT_BOLD)
for i in range(fontsize, fontsize*2):
c.move_to(0, fontsize*4 - i)
c.set_source_rgba(0, 0, 0, 0.001*i)
c.set_font_size(i)
c.show_text(yazi)
c.move_to(0, fontsize*2)
c.set_source_rgba(1, 1, 1, 1)
c.set_font_size(fontsize*2)
c.show_text(yazi)
c.set_line_width(fontsize/10)
c.move_to(0, fontsize*2)
c.line_to (ekranx, fontsize*2)
c.set_source_rgba(1, 1, 1, 1)
c.stroke()
surface.write_to_png ("o.png")
goster()
if __name__ == '__main__':
main()cairo ile yapılabilecekler gerçekten sınırsız. bu basit örneği sırf temel işlemleri göstermek ve bir fikir verebilmek için yazdım. çok daha eğlenceli ve şaşırtıcı örnekler sadece hayal gücünüze kalmış.

0 yorum:
Yorum Gönder