Etiketler

11 Haziran 2020 Perşembe

QuickBasic Kursu: Bölüm 14: Grafik işlemleri-2

Önceki Bölüm: QuickBasic Kursu: Bölüm 13: Grafik işlemleri-1
Yayınlama: 11 Haziran 2020

VIEW

Sonraki grafik komutlarına çıktı için ekran sınırlarını belirler. Fiziksel ekran üzerinde sanal çizim alanı oluşturur(port). Ekran içinde ekran gibi.

Kullanımı:
VIEW [SCREEN] (x1,y1)-(x2,y2) [,renk][,çerçeve]
Herhangi bir parametre girilmezse varsayılan ekranı tanımlar.

SCREEN parametresi kullanıldığında sonraki çizim komutlarında ekranın mutlak koordinat sistemine göre işlem yapılacağını belirtir.
Normalde yani SCREEN parametresi kullanılmadığında göreceli koordinat sistemi kullanılır.
Oluşturulan ekranın;
sol üst köşesi (x1,y1) 0,0 olarak,
sağ alt köşesi (x2,y2) VIEW de belirtilen genişlik ve yükseklik olur (x2-x1, y2-y1)

renk: Belirtilen renk ile tanımlanan alan doldurulur. Altta kalan alan silinir. Belirtilmezse silme olmaz.

çerçeve: Tanımlanan alanın kenarlarına verilen renk kodu ile sınır çizgileri çizilir. Belirtilmezse çizilmez.

Örnek:
SCREEN 12
VIEW (50, 50)-(300, 300), 2, 14
LOCATE 1, 1: PRINT "VIEW"
CIRCLE (0, 0), 250, 15 ' oluşturulan ekranın göreceli koordinatları kullanılır
SLEEP
VIEW SCREEN (50, 50)-(300, 300), 3, 11
LOCATE 1, 1: PRINT "VIEW SCREEN"
CIRCLE (0, 0), 250, 11 ' fiziksel ekranın mutlak koordinatları kullanılır
SLEEP
VIEW (200, 200)-(400, 400), 4
CIRCLE (100, 100), 50
LOCATE 14, 27: PRINT "Silinecek !"
SLEEP
CLS 'aktif VIEW siler
LINE (0, 0)-(200, 200), 14
LINE (0, 200)-(200, 0), 14
SLEEP
VIEW 'Fiziksel ekran
LINE (0, 0)-(200, 200), 15
LINE (0, 200)-(200, 0), 15

VIEW PRINT

PRINT komutu için ekranda sınırları belirler.



Kullanımı:
VIEW PRINT [başlamasatırı TO bitişsatırı]
PRINT komutu ile yazılacaklar başlamasatırı ile bitişsatırı arasındaki satırlara yazılır.
CLS komutu sadece bu bölgeyi siler.
Parametre kullanılmazsa varsayılan ekran satırları kullanılır.

Örnek:
CLS
VIEW PRINT 10 TO 20
COLOR 7, 1
CLS
FOR n = 1 TO 12
PRINT "Satır : "; n
SLEEP 1
NEXT
SLEEP
COLOR 15, 10
CLS
PRINT "Merhaba !"
VIEW PRINT
SLEEP
PRINT "Merhaba !"

PSET

Grafik ekranda koordinatları belirtilen konuma nokta koyan grafik komutudur.
Kullanımı:
PSET [STEP] (x,y) [, renk]
x ve y ile koordinat noktası belirlenir. Renk belirtilmezse varsayılan renk kullanılır. 
STEP kullanılırsa bir önceki nokta 0,0 noktası olarak kabul edilerek göreceli koordinat sistemi kullanılır.

Örnek 1:
SCREEN 13
PSET (100, 100), 10
PSET STEP(-10, 10) '100,100 koordinatı 0,0 kabul edilir. PSET (90 , 110)
PSET STEP(10, 10) 'üst satırda belirtilen nokta 0,0 kabul edilir (100 , 120)
PSET STEP(10, -10), 12 'üst satırdaki noktaya göre x:10 y:-10 (110 , 110)

Örnek 2: PSET komutu ile daire
'Nokta ile daire
'Mesut Akcan. 2020
SCREEN 12
pi = 4 * ATN(1)
VIEW (80, 0)-(560, 479)
WINDOW (-1, -1)-(1, 1)
FOR x = 0 TO 360 STEP .5
    nx = SIN(x * pi / 180)
    ny = COS(x * pi / 180)
    PSET (nx, ny), 10
NEXT
SLEEP

Örnek 3: Fraktal 2
'Fractal 2
SCREEN 12
WINDOW (-4, 0)-(6, 10)
RANDOMIZE TIMER
WHILE INKEY$ = ""
    r = RND
    SELECT CASE r
        CASE IS <= .01
            a = 0: b = 0: c = 0: d = .16: e = 0: f = 0
        CASE .01 TO .86
            a = .85: b = .04: c = -.04: d = .85: e = 0: f = 1.6
        CASE .86 TO .93
            a = .2: b = -.26: c = .23: d = .23: e = .05: f = 1.6
        CASE ELSE
            a = -.15: b = .28: c = .26: d = .24: e = 0: f = .44
    END SELECT
    nx = (a * x) + (b * y) + e
    ny = (c * x) + (d * y) + f
    x = nx
    y = ny
    PSET (x, y), 2
WEND

PSET komutu ile ilgili diğer örnek kodlar için bir önceki sayfaya bakınız.

Sonraki Bölüm: QuickBasic Kursu: Bölüm 15: Grafik işlemleri-3 (Hazırlanıyor)

Hiç yorum yok:

Yorum Gönderme