folder Tahribat.com Forumları
linefolder C#, Asp.Net, .Net Core
linefolder Basit Gdi+ İşlemleri - C#.NET



Basit Gdi+ İşlemleri - C#.NET

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SharpShooter
    SharpShooter's avatar
    Banlanmış Üye
    Kayıt Tarihi: 10/Temmuz/2008
    Erkek

    Merhaba arkadaşlar, bugün bir çok yazılımcının ihtiyaç duyduğu bir konuya değinmeye çalışacağım.

    Öncelikle gdi+ nedir ?

    gdi+ , windows/web uygulamalarında çizip,biçmeye yarar. en kabaca böyle ifade edilir sanırım :))

    nerelerde kullanabilirim diyenler için, en basiti captcha gösterilebilir.

    Ben web uygulamasında anlatıcam, windows içinde pek bir şey değişmiyor.

    Öncelikle bize bir çalışma alanı lazım. Yani bitmap

    Kendimize 800 x 800 lük bir alan yapalım.

    Bitmap tbtBmp = new Bitmap(800, 800);

    şimdi bitmapimizde çizim yapmak için bize çizici lazım, o da

    Graphics class'ı,

    Graphics tbtGdi = Graphics.FromImage(tbtBmp);

    evet şimdi her şey hazır, bundan sonrası size kalmış.

    Ufak bir örnek yapalım.

    gdi.DrawString("Tahribat.Com", new Font("verdana", 50), Brushes.White, new PointF(200, 200));

    şimdi adım adım anlatayım, ilk parametre bizden yazılacak yazıyı string olarak istiyor, bizde "Tahribat.com" olarak verdik,

    ikinci parametre bizden Font istiyor onuda, new Font("font adı",yazı font büyüklüğü)

    üçüncü paremetre bizden brush yani fırçayı istiyor. bunu renk olarak düşünebiliriz.

    dördüncü paremetre bizden yazıyı yazacağımız koordinatları istiyor, x ve y olarak.

    şimdi bir çok kişi projeyi başlattığında, simsiyah bir ekranla karşılaşacak. Bunu çözmenin yolu

    drawString metodundan önce, gdi.Clear(Color.White); metodunu çağırmak. Bu bir nevi arkaplan rengi.

    graphics nesnesini biraz incelerseniz en basitinden, kare , daire vs çizdirebilirsiniz.

    Gdi+ zordur, en azından lise matematiğinizin olması gerekiyor. Hesaplamalar bazen gerçekten can sıkabiliyor :))

    Takıldığınız anlamadığınız yerleri bu başlık altinda sorabilirsiniz yardımcı olmaya çalışırım.


    - xx yerde hata var. - ya aslında kod şöyle sanıyor olabilir bla bla bla - olm kendine gel kodlar düşünmez - ...
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SharpShooter
    SharpShooter's avatar
    Banlanmış Üye
    Kayıt Tarihi: 10/Temmuz/2008
    Erkek

    ups, kodlar yarım kalmış kusura bakmayın. şimdi sıra geldi ekrana basmaya bunun için Bitmap nesnemizin, save metodunu çağırıcaz.

    tbtBmp.Save(Response.OutputStream, ImageFormat.Gif);

    Şimdi bu yazdığımızı ve önceki kodları page_load'ında çağırdığımızda kodlar çalışacak.

    başka bir sayfadan resim gibi çağırdığımızda resmimiz gözükecektir.

    Örnek;

            <asp:Image ID="Image1" runat="server" ImageUrl="~/resim.aspx" />


    İyi çalışmalar :)


    - xx yerde hata var. - ya aslında kod şöyle sanıyor olabilir bla bla bla - olm kendine gel kodlar düşünmez - ...
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    unix
    Andrei
    Andrei's avatar
    Banlanmış Üye
    Kayıt Tarihi: 11/Aralık/2008
    Erkek

    for image processing (:

    aslında görsel anlatımlar daha tatlı olur sharp, tesekkürler... 


    %40 indirimli olarak "Centos Sistem ve Sunucu Yönetimi" adlı kitabımızı satın alarak, Linux üzerine yapılacak olan devam projeleri icin destekte bulunabilirsiniz : http://www.hepsiburada.com/centos-sistem-ve-sunucu-yonetimi-oku-izle-dinle-ogren-p-KKODLAB01579
Toplam Hit: 2942 Toplam Mesaj: 3