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