14 Temmuz 2020 Salı

QuickBasic - 17: Grafik işlemleri-5

Yayınlama: 16 Temmuz 2020

DRAW

Karakter kodlarıyla grafik ekranda çizim yapar.

Kullanımı:
DRAW "çizimkodları"
DRAW komutu çizim kodları:

Çizgi çizme kodları:
U : Yukarı (Up)
D : Aşağı (Down)
L : Sola (Left)
R : Sağa (Right)
E : Yukarı sağa çapraz
F : Aşağı sağa çapraz
H : Yukarı sola çapraz
G : Aşağı sola çapraz

Bu kodlar uygulandığında çizim konumu değişir. Örneğin U10 ile çizim konumu çizgi çizerek 10 piksel yukarı gider.
Verilen komutlar son nokta konumunu esas alarak çizim yapar.
Daha önceden konum belirten ya da değiştiren bir kodlama yoksa konum ekranın ortası alınır.
B : Çizgi çizmeden konum değiştirir(Blind). BL5 : Konum, çizgi çizmeden 5 piksel sola.
N : Çizgi çizer ancak konum değişmez. NR15 : Sağa 15 piksel çizgi ancak konum değişmez.

Örnek 1:
SCREEN 13
DRAW "c9 NG15 c10 NE15 c12 NH15 c14 NF15"
Mx,y : Konumu x,y koordinatına çizgi çizerek taşır. (Move)
x değeri önünde + veya - sembolü olması durumunda göreceli(relative) koordinat sistemi uygulanır.
+ veya - işareti olmaması durumunda mutlak koordinat sistemi(absolute, fiziksel ekran koordinatları) kullanılır.

Örnek 2:
SCREEN 13
DRAW "c10 L60 c14 M+30,-30 c12 d60"
DRAW "c13 bM0,0 f50 r50 M0,0"
Renk kodları:
C : Çizgi rengi belirler(Color). C14 : Sarı renk. C10 D50 : Yeşil renkte aşağı 50 piksel çizgi

Pp,b
: b rengi ile çizilmiş kapalı şekil içini p rengi ile boyar(doldurur)(Paint). Şekil kapalı değilse boyama taşar. Boyama yapmadan önce konum kapalı şekil içinde olmalıdır.

Örnek 3:
SCREEN 13
DRAW "c12 r100 h50 g50"
DRAW "bM+30,-10 p14,12"
Ölçek ve döndürme kodları:
Sn : Konum değişim ölçeği(Scale). Varsayılan değeri 4'dür. 4'den küçük sayılar orantılı olarak değişimi azaltır, 4'den büyük sayılar orantılı olarak arttırır.
Örneğin;
S2 : Konum değişimi oranı varsayılanın yarısı kadar olur.
S8 : Varsayılanın 2 katı olur.
n için 1 - 255 arası bir değer verilebilir.
An : (n * 90º) döndürme açısı(Angle).
n için 0, 1, 2 veya 3 değerleri verilebilir. Çizim verilen açı kadar döndürülerek çizilir.
0 = 0º
1 = 90º
2 = 180º
3 = 270º

Örnek 4:
SCREEN 13
DRAW "s5"
FOR n = 0 TO 3
    DRAW "A" + STR$(n)
    DRAW "C" + STR$(n + 10)
    DRAW "F60 L120 E60"
    SLEEP
NEXT


TAn : Döndürme açısı. n için -360 ile 360 arası döndürme açısı değeri verilebilir. Çizim verilen açı kadar döndürülerek çizilir. Negatif sayılar ters yönde döndürmek içindir.
TA60 R100 : Sağ yönde 60º açıyla 100 piksel çizgi.

Örnek 5:
SCREEN 12
DRAW "c13"
FOR n = 0 TO 360 STEP 60
    DRAW "TA" + STR$(n)
    DRAW "R100 U100 L100 D100"
NEXT
Örnek 6:
SCREEN 12
DRAW "c11"
FOR D = 0 TO 360 STEP 3
   DRAW "TA=" + VARPTR$(D) + "NU220"
NEXT
X + VARPTR$(değişkenadı) : Çizim kodları bir değişkene atanıp bu değişken DRAW komutu içinde kullanılabilir. Özellikle tekrar eden çizim kodlarını tekrar yazmak yerine bu şekilde çağırmak kodlamayı kolaylaştırır.

Örnek 7:
DEFINT A-Z
SCREEN 12
dd$ = "bU4 L4 D8 R8 U8 L4 bD4"
DRAW "c13" 'renk 13
FOR s = 3 TO 255 STEP 3
  a = a + 4
  IF a >= 360 THEN a = 1
  DRAW "TA=" + VARPTR$(a) + "s" + STR$(s) + "X" + VARPTR$(dd$)
NEXT



Önceki Bölüm: 16: Grafik işlemleri-4 Sonraki bölüm: 18: Grafik işlemleri-6

Hiç yorum yok:

Yorum Gönder