4 Temmuz 2020 Cumartesi

QuickBasic - 15: Grafik işlemleri-3

Yayınlama: 4 Temmuz 2020

PRESET

Kullanımı:
PRESET [STEP] (x , y) [, renk]
PRESET komutu PSET komutu gibi grafik ekranda koordinatları(x,y) belirtilen konuma belirtilen renk ile nokta koyar.
PSET komutundan farkı renk belirtilmezse zemin rengi ile nokta koyar (koordinata zemin rengiyle nokta koyduğu için silme işlemi uygulanmış olur)
STEP olursa bir önceki nokta referans alınarak göreceli koordinat sistemi kullanılır.

Örnek 1:

DEFINT A-Z
SCREEN 7
COLOR , 4
A = 10
FOR x = 0 TO 50
    FOR y = 0 TO 20
        ' PSET (x + A, y + A), 14
        PRESET (x + A, y + A), 14 'Nokta koy
    NEXT
NEXT
SLEEP
FOR x = 0 TO 50
    FOR y = 0 TO 20 STEP 3
        PRESET (x + A, y + A) ' Sil
    NEXT
NEXT
Örnek 2:
DEFINT A-Z
SCREEN 7
COLOR , 3
FOR y = 0 TO 319 STEP 10
    FOR x = y TO 20 + y
        PSET (x, 30), 15 'Nokta koy
    NEXT
    SLEEP
    FOR x = y TO 20 + y
        PRESET (x, 30) ' Zemin renginde nokta koy (sil)
    NEXT
NEXT

Örnek 3:
DEFINT A-Z
SCREEN 7
FOR x = 1 TO 100
    y = x
    FOR a = 1 TO 30
        PRESET (x, y), 15
        PRESET STEP(x * a / 5, y), 10
    NEXT
NEXT

POINT

Kullanımı:
POINT (x , y)
POINT (sayı) '0 - 3 arası sayı
POINT fonksiyonu ekranın x, y koordinatındaki noktanın renk kodunu verir.
2. kullanım, grafik kursörün konumunu verir. 0-3 arası bir sayı verilir.

0 :
Aktif fiziksel ekran X koordinatını verir.
1 :
Aktif fiziksel ekran Y koordinatını verir.
2 :
Aktif VIEW'in X koordinatı. WINDOW kullanılmadıysa POINT(0) gibi çalışır.
3 : Aktif VIEW'in Y koordinatı. WINDOW kullanılmadıysa POINT(1) gibi çalışır.

Örnek 1:
SCREEN 13
COLOR 12
PRINT "Mesut"
COLOR 10
PRINT "Akcan";
FOR y = 0 TO 16
    FOR x = 0 TO 40
        n = POINT(x, y)
        PSET (80 - x, y), n + 1
    NEXT
NEXT
FOR y = 0 TO 16
    FOR x = 0 TO 80
        n = POINT(x, y)
        PSET (x, 34 - y), n + 1
    NEXT
NEXT
LOCATE 6, 1
PRINT POINT(0); POINT(1)
Örnek 2:
SCREEN 7
rnk = 13
drc = 60
drc = (3.1415926# / 180) * drc 'Derece -> Radyana
Cs = COS(drc)
Sn = SIN(drc)
CIRCLE (45, 70), 50, rnk, , , 2 'Elipse çiz
PAINT (45, 70), rnk 'Elips içini doldur
FOR y = 20 TO 120
   FOR x = 20 TO 70
   IF POINT(x, y) <> 0 THEN
       x2 = (x * Cs - y * Sn) + 200
       y2 = (x * Sn + y * Cs)
       PSET (x2, y2), rnk
   END IF
   NEXT
NEXT
Örnek 3:
SCREEN 12
COLOR 14 : PRINT "Q";
COLOR 10 : PRINT "$";
COLOR 13 : PRINT "ğ"

FOR s = 0 TO 16
PRINT
FOR x = 0 TO 23
    n = POINT(x, s)
    IF n <> 0 THEN
        COLOR n
    ELSE
        COLOR 7
    END IF
    PRINT RIGHT$("0" + LTRIM$(STR$(n)), 2); " ";
NEXT
NEXT
Örnek 4:
DEFINT A-Z
SCREEN 12
yazi$ = "Qbasic $Ğğ"
r = 2 'koyu renk
r2 = r + 8 'açık renk
yg = LEN(yazi$) * 8 'yazı genişliği
yy = 16 ' yazı yüksekliği
PRINT yazi$
FOR x = 0 TO yg
    FOR y = 0 TO yy
        IF POINT(x, y) <> 0 THEN
            nX = x * 8
            nY = y * 8 + 20
            FOR i = 0 TO 5
                PSET (nX + i, nY), r
                PSET (nX, nY + i), r2
            NEXT
        END IF
    NEXT
NEXT




Önceki Bölüm: 14: Grafik işlemleri-2 Sonraki Bölüm: 16: Grafik işlemleri-4

Hiç yorum yok:

Yorum Gönder