Yayınlama: 18 Temmuz 2020
PAINT
Kullanımı:
PAINT [STEP] (x,y)[,[dolgu] [,[çerçeverengi] [,arkaplan]]]
Belirtilen dolgu rengi veya deseni ile kapalı şekil içini
boyar(doldurur)
Doldurma işlemi (x,y) koordinatından başlar. Şekil kapalı değilse taşıp
ekranı doldurur.
STEP kullanıldığında son çizim konumu 0,0 kabul edilip göreceli
koordinat uygulanır.
dolgu : Dolgu rengini belirten sayısal değer ya da
deseni belirten karakter dizisi olmalıdır.
çerçeverengi : Dolgu yapılacak şeklin rengi (sınır çizgi rengi)
arkaplan : Sınırın sonlandırılması kontrol edilirken atlanacak "arka
plan döşemesi dilimini" veren bir karakter dizisi değeri. Bitişik noktalar
boya rengini gösterdiğinde resim sonlandırılır.
Arka plan döşemesi dilimi belirtmek, önceden boyanmış bir alanı boyamanıza izin verir.
Arka plan belirtilmediğinde varsayılan değer CHR$(0) olur.
Arka plan döşemesi dilimi belirtmek, önceden boyanmış bir alanı boyamanıza izin verir.
Arka plan belirtilmediğinde varsayılan değer CHR$(0) olur.
Desen dizesinde, her bayt, noktaları koyarken x ekseni boyunca 8 biti
maskeler.
PAINT (x,y), CHR$(arg1)+CHR$(arg2)+...+CHR$(argn)
CHR$ değişkenleri, desenin x ekseni boyunca ikili biçimde temsil edilen
0 ile 255 arasındaki sayılardır. Bu CHR$ öğelerinden 64'e kadar
olabilir; her biri atanan karakterden değil, o karakter için kodun bit
düzenlemesinden bir görüntü oluşturur.
Örneğin, ondalık sayı 85, ikili sayı olarak 01010101'dir;
CHR$(85) tarafından oluşturulan siyah beyaz bir ekrandaki grafik
görüntü çizgisi, 1 sayılı noktalar beyaz ve 0 numaralı noktalar siyah olan 8
piksel çizgisidir.
Bu durumda ASCII karakteri CHR$(85) in karşılığı olan U gösterilmez.
Örnek 1:
SCREEN 12 WINDOW (0, 0)-(500, 500) FOR n = 200 TO 5 STEP -5 r = r + 1 IF r = 16 THEN r = 0 CIRCLE (250, 250), n, r PAINT STEP(0, 0), r, r NEXT
Örnek 2:
'Code: QB64.org DIM S(1 TO 8) AS STRING SCREEN 12 'kırmızı tuğlalı duvar deseni S(1) = CHR$(0) + CHR$(0) + CHR$(&HFE) + CHR$(&HFE) S(2) = S(1) S(3) = S(1) S(4) = CHR$(0) + CHR$(0) + CHR$(0) + CHR$(0) S(5) = CHR$(0) + CHR$(0) + CHR$(&HEF) + CHR$(&HEF) S(6) = S(5) S(7) = S(5) S(8) = S(4) Desen$ = S(1) + S(2) + S(3) + S(4) + S(5) + S(6) + S(7) + S(8) LINE (60, 120)-(580, 330), 14, B 'sarı çizgi ile dikdörtgen PAINT (320, 240), Desen$, 14 'tuğla deseni ile doldur
Örnek 3:
'©2020. Mesut Akcan DEFINT A-Z DIM satir AS STRING DIM desen AS STRING 'desen satırları DATA "..1111.." DATA ".111111." DATA ".11..11." DATA ".11..11." DATA "..1111.." DATA "...11..." DATA "111..111" DATA "1..11..1" DATA "1..11..1" DATA ".11..11." DATA "...11..." DATA "........" DATA "---" DO READ satir 'ikili sayı IF satir = "---" THEN EXIT DO s = 0: p = 0 FOR i = 8 TO 1 STEP -1 'ikili sayıyı onlu sayıya dönüştür s = s + VAL(MID$(satir, i, 1)) * 2 ^ p 'onlu sayı p = p + 1 'üssü NEXT desen = desen + CHR$(s) LOOP SCREEN 2 WINDOW (0, 0)-(200, 200) CIRCLE (100, 100), 55, , , , .5 PAINT (100, 100), desen
'©2020 Mesut Akcan DEFINT A-Z DIM desen AS STRING ' desen taslağı (tuğla deseni) ' ...1.... = 16 ' ...1.... ' ...1.... ' ...1.... ' ...1.... ' ...1.... ' 11111111 = 255 ' .......1 = 1 ' .......1 ' .......1 ' .......1 ' .......1 ' .......1 ' 11111111 = 255 ' desen taslağı kod karşılığı desen = CHR$(16) + CHR$(16) + CHR$(16) + CHR$(16) + CHR$(16) + CHR$(16) desen = desen + CHR$(255) desen = desen + CHR$(1) + CHR$(1) + CHR$(1) + CHR$(1) + CHR$(1) + CHR$(1) desen = desen + CHR$(255) SCREEN 11 WINDOW (-100, -100)-(100, 100) DRAW "TA60 bL180" FOR n = 0 TO 300 STEP 60 DRAW "TA" + STR$(n) + "R180" ' Altıgen çiz NEXT PAINT (0, 0), desen
WIDTH
Kullanımı:
WIDTH [sütun][satır]
Ekranın yazı alanın sütun ve satır sayısını değiştirir.
SCREEN 0 için: sütun; 80 veya 40; satır; 25, 43 veya 50
olabilir.
SCREEN 11 ve 12 için: sütun; 80; satır; 30 veya 60 olabilir.
Örnek 1:
SCREEN 12 WIDTH 80, 60 FOR i = 1 TO 4720 COLOR INT(RND * 15 + 1) 'COLOR i MOD 10 + 5 PRINT LTRIM$(STR$(i MOD 10)); NEXT
Örnek 2:
DECLARE SUB yaz (sutun%, satir%) yaz 80, 25 yaz 80, 43 yaz 80, 50 yaz 40, 25 yaz 40, 43 yaz 40, 50 SCREEN 12 yaz 80, 30 yaz 80, 60 DEFINT A-Z SUB yaz (sutun, satir) STATIC r WIDTH sutun, satir r = r + 1 COLOR r + 2 FOR n = 1 TO satir PRINT "Satır:"; n; " Merhaba Dünya !" NEXT SLEEP END SUB
Önceki Bölüm: 17: Grafik işlemleri-5 | Sonraki Bölüm: 19: Grafik işlemleri-7 |
Hiç yorum yok:
Yorum Gönder