Şimdi Ara

C DİLİ İLE GRAFİK DERSLERİ -graphics.h- ( Quincy )

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
1 Misafir - 1 Masaüstü
5 sn
14
Cevap
7
Favori
18.119
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
2 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • ### Bu dersler temel C programlama bilgisi gerektirir ###

    Merhabalar. Başlığı açma sebebim bize okulda gösterdikleri bu yapı hakkında pek düzgün kaynak bulunmaması. Ben de bildiklerimi burada toparladım.
    Zaman buldukça da eklemeye devam ederim.


    Öncelikle diğer editörlerden (Dev C++, CodeBlocks gibi) ne gibi farklılıklar yaparak kullanmaya başlayacağımıza bakalım.

    1. Genel olarak programlamaya başlamadan önce en üstte #include<stdlib.h> şeklinde standart kütüphaneyi ekleriz. Grafik programlamak için de
    onlara #include<graphics.h> 'ı da eklememiz gerekiyor.

    2. Quincy editörünü indiriyoruz. http://www.codecutter.net/tools/quincy/2005v1.3/Q2005v1_3setup.exe

    3. Quincy 'i açıyoruz. File>New> C Source File diyoruz. Bu sayfa kodları yazacağımız sayfadır. Herhangi bir yere bu dosyayı kaydedin.

    4. File>New>Project diyoruz. Burada önümüze Project Properties (Proje Özellikleri) adında küçük bir pencere geliyor.
    Target Name dosya adınızdır. Target Path ise nereye kaydedeceğinizdir. Bu iki alanı doldurduktan sonra son olarak sol tarafta bulunan Type of Build bölümündeki WinBGI Graphics Application 'ı işaretliyoruz ve OK diyerek projemizi açıyoruz. (Aşağıdaki resim)
     C DİLİ İLE GRAFİK DERSLERİ -graphics.h- ( Quincy )


    5. Yapacağımız son adım ise projede kaynak dosyasını belirtmektir. .Exe şeklinde belirtilen beyaz ekrana sahip proje dosyasında alanında herhangi bir yere sağ tuş yapıp Insert File diyoruz. Burada yol olarak önceden belirlediğimiz Source File 'ı seçiyoruz. (Aşağıdaki resim)
     C DİLİ İLE GRAFİK DERSLERİ -graphics.h- ( Quincy )



    Artık kod yazmaya başlamak için hazırız!
    Kodları yazacağımız sayfayı (Source File) büyüterek işe başlayabiliriz.


    Son bir Husus!

    Grafik yaparken aslında bizim normal konsol dışında bir konsola daha ihtiyacımız var. Bir konsolda printf vb... fonksiyonlar ile yazacağımız yazılar yer alacakken, diğer bir konsolda ise çizimler yer alacak.

    Bunu da program içinde initwindow fonksiyonu ile sağlıyoruz.

    Yapısı: initwindow (x eksen uzunluğu, y eksen uzunluğu, "Favicon yanında yer alacak text", pencere x eksen konumu, pencere y eksen konumu);
    Yapıya örnek: initwindow(500,500,"Pencere Yazısı",0,0);
    Örneğin tercümesi: 500x500 piksel genişliğinde grafik penceresi aç.Favicon (Pencere simgesi) yanına şunu yaz.Bilgisayar ekranına göre x=0, y=0 olarak da programı açıver.

    F9 ve yaptıklarımız aşağıdaki resimde.

     C DİLİ İLE GRAFİK DERSLERİ -graphics.h- ( Quincy )



    FONKSİYONLAR İLE ÇİZİME BAŞLANGIÇ.

    Önemli not: Birçok derleyicide standart olan F9 ile programı çalıştırıyoruz.Fakat programı açtıktan sonra ilk olarak grafik çiziminin olduğu dosyayı X ile kapatın.Sonrasında diğerlerini kapayın.Önce konsolu kapatırsanız program tamamen kapanır.

    LİNE (ÇİZGİ) FONKSİYONU:

    Yapısı: line (x1,y1,x2,y2)
    Yapıya örnek: line (200,200,400,200);
    Örneğin tercümesi: x1,y1 noktası 300,200 noktasından, x2,y2 noktası 500,200 olan noktaları birleştirip doğru çiz.
    Örnek resim:
     C DİLİ İLE GRAFİK DERSLERİ -graphics.h- ( Quincy )


    CİRCLE (DAİRE,ÇEMBER) FONKSİYONU:

    Yapısı: circle(x1,y1,çap)
    Yapıya Örnek: circle(300,300,50);
    Örneğin Tercümesi: X eksenine göre soldan 300px gel, Y eksenine göre üstten 300px gel.Tam o x,y noktasına 50 yarıçapında bir daire çiz.
    Örnek resim:
     C DİLİ İLE GRAFİK DERSLERİ -graphics.h- ( Quincy )

    RECTANGLE (DİKDÖRTGEN) FONKSİYONU:
    //Kare çizmek için de bu fonksiyon kullanılır.

    Yapısı: rectangle(x1,y1,x2,y2)
    Yapıya Örnek: rectangle(200,200,200,500);
    Örneğin tercümesi: sol üst noktası 200,200'den sağ alt noktası 200,500 olan dikdörtgen çiz.Burada x1,y1 değerlerini eksenlerden verilen boşluk olarak da benimseyebilirsiniz.
    Örnek resim:
     C DİLİ İLE GRAFİK DERSLERİ -graphics.h- ( Quincy )


    TRİANGLE (3 ÇİZGİ İLE ÇİZMEK)
    Yapısı: line(x1,y1,x3,y3) //taban çizgisi
    line(x1,y1,x2,y2) //sol çizgi
    line (x3,y3,x2,y2) //sağ çizgi

    Yapıya Örnek:
    line(100,400,400,400); //taban
    line(100,400,250,100); //sol
    line(400,400,250,100); //sağ

    Örneğin Tercümesi: Taban alt çizgiyi oluşturur.Sağ ve sol ise tabandan gelip tepede birleşir.
    Örnek Resim:
     C DİLİ İLE GRAFİK DERSLERİ -graphics.h- ( Quincy )



    ÖRNEK SORU 1:

    Şimdi öğrendiklerimizle bir örnek yapalım.
    Soru: Kullanıcıdan öncelikle x1, y1 olarak bir koordinat al, sonra bir çap iste. Bu bilgiler ile bir daire çiz.

    Soru Cevap Kodu:

    #include <stdio.h> 
    #include <stdlib.h>
    #include <graphics.h>
    #include <math.h>

    int main()
    {
    int x1, y1, r;
    initwindow( 500, 500, "Window Text",0, 0);

    printf("dairenin koordinatlarini giriniz (x1,y1 gibi): \n");
    scanf("%d %d", &x1, &y1);

    printf("capini giriniz: ");
    scanf("%d", &r);

    circle(x1, y1, r);
    getch();
    return 0;

    }




    Örnek Sorunun Resmi:
     C DİLİ İLE GRAFİK DERSLERİ -graphics.h- ( Quincy )



    ÖRNEK SORU 2:

    Soru: For döngüsü ile sağa doğru 40px artacak şekilde 5 daire çiz.

    Cevap: Daireleri sağa doğru çizmek istiyorsan x eksenini +(sağ) yönünde arttır.For döngüsünde sürekli +1 şeklinde artacak i tanımla ve x koordinatını x1+40*i şeklinde yap.Bu sayede 40px ilerleyerek 5 daire çizmiş olacaksın.

    Soru Cevap Kodu:
    #include <stdio.h> 
    #include <stdlib.h>
    #include <graphics.h>
    #include <math.h>

    int main()
    {

    initwindow( 500, 500, "Window Text",0, 0);

    int x1=100, y1=300,i;

    for(i=0; i<5; i++)
    {
    circle(x1+40*i,y1,50);

    }

    getch();
    return 0;

    }



    Örnek Sorunun Resmi:

     C DİLİ İLE GRAFİK DERSLERİ -graphics.h- ( Quincy )





    ################### DEVAMI GELECEK ###################



    < Bu mesaj bu kişi tarafından değiştirildi t3rminator -- 27 Mart 2014; 14:16:59 >







  • Ek olarak bitmiş örnek eklerseniz iyi olur.

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • quote:

    Orijinalden alıntı: GylR?

    Ek olarak bitmiş örnek eklerseniz iyi olur.

    Örnekten kasıt dosya olarak mı?
    Sınavlarım bitince eklemeye devam edeceğim.

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • Güncelleme: Triangle (üçgen) yapma ve 2 örnek soru eklenmiştir.
  • iyi günler. Dev C'de bir ödevim var yardımcı olur musunuz? (x,y koordinatları verilen bir doğrunun x,y eksenine göre simetriğini çizdiren program).
  • Program dev c++ da oldugu gibi win8 de uyumsuzluk yapiyor mu ?
  • quote:

    Orijinalden alıntı: matsekeom

    Program dev c++ da oldugu gibi win8 de uyumsuzluk yapiyor mu ?

    W7 kullandığım için onu bilmiyorum maalesef.

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • R.P Mcmurphy kullanıcısına yanıt
    dev c++ grafic.h kütüphanesi sadece 4.9.9.2 de çalışıyor.
    dec c++ 4,9,9,2 de sadece w7 de çalışıyor. Nedeni ise pek fazla kullanılmamasıdır.
  • Harikasın be.

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • Yararlı

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • Benim de ASCII tablosu kullanarak aşağıdaki gibi sınıf resmi çizdirmem lazım  C DİLİ İLE GRAFİK DERSLERİ -graphics.h- ( Quincy )
    bunun için kare çizdirme kodları var elimde
     C DİLİ İLE GRAFİK DERSLERİ -graphics.h- ( Quincy )
    ama iç içe nasıl kareler yapabilirim bilmiyorum. Yardımcı olursanız sevinirim.




  • senin örnek kod printf ile çiziyor yani graphics.h'yi kullanmıyor.



    bu durumda C/C++ ile printf kullanarak iç içe kareler çizme kodu ara:https://duckduckgo.com/?q=draw+nested+squares+printf+c&ia=qa



    Aynı tarzda Java kodu bulup denedim ilk seferde çalıştı:



     C DİLİ İLE GRAFİK DERSLERİ -graphics.h- ( Quincy )

    < Bu ileti mini sürüm kullanılarak atıldı >




  • ingilizcem pek iyi değil ama çevirisini yazmışınız zaten. teşekkürler araştıracağım
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.