Täällä oli jo pixelöinti, ja täällä oli myös jo blur, mutta mitään sellaista ei tainnut olla, missä molemmat olisi yhdessä.
' Yhdistetty pixelöinti ja blur ' Tämän pohjana on käytetty Eero Harmaalan Color bluria, pixelöintiosuus on ' täysin itse tehty DEFINT A-Z RANDOMIZE TIMER SCREEN 13 CLS ykoko = 200 ' Pehmennettävän alueen pystykoko xkoko = 320 ' ----------------------vaaka---- pk = 2 ' Pixelin koko FOR i = 1 TO 75 ' Hieman ympyröitä pixelöitäväksi CIRCLE (INT(RND * 320), INT(RND * 200)), INT(RND * 100), INT(RND * 256) NEXT i DIM pal(2, 255) FOR v = 0 TO 255 OUT &H3C7, v pal(0, v) = INP(&H3C9) ' punanen pal(1, v) = INP(&H3C9) ' vihree pal(2, v) = INP(&H3C9) ' sininen NEXT v PRINT "Paina jotain näppäintä aloittaaksesi pixelöimisen" DO LOOP WHILE INKEY$ = "" FOR y = 0 TO ykoko - 1 STEP pk FOR x = 0 TO xkoko - 1 STEP pk FOR x2 = x TO x + pk - 1 ' Käydään läpi pk*pk alueita FOR y2 = y TO y + pk - 1 pv = POINT(x2, y2) ' Katsoo alla olevan värin vkr = vkr + pal(0, pv) vkg = vkg + pal(1, pv) vkb = vkb + pal(2, pv) NEXT y2 NEXT x2 jakaja = pk * pk ' Laskee luvun, millä väriarvot pitää jakaa vkr = INT(vkr / jakaja) vkg = INT(vkg / jakaja) vkb = INT(vkb / jakaja) le = 111 FOR v = 0 TO 255 eta = SQR(ABS(vkr - pal(0, v)) ^ 2 + ABS(vkg - pal(1, v)) ^ 2 + ABS(vkb - pal(2, v)) ^ 2) IF eta < le THEN le = eta: vari = v NEXT v LINE (x, y)-STEP(pk - 1, pk - 1), vari, BF ' Piirtää ison pixelin IF INKEY$ <> "" THEN END ' Jos joku ei vaikka jaksa odottaa loppuun asti NEXT x NEXT y LOCATE 1, 1 PRINT "Pixelöinti suoritettu" DO LOOP WHILE INKEY$ = "" END
Miksei tätä ole muka julkaistu? Tämähän on hyvä koodivinkki!
Aihe on jo aika vanha, joten et voi enää vastata siihen.