@nostrum666, post #35
@cholok, post #36
@peceha, post #41
@nostrum666, post #43
@peceha, post #44
@cholok, post #33
Paleta $000,$00A,$0A0,$0AA,$A00,$A0A,$AA0,$AAA,$555,$55F,$5F5,$5FF,$F55,$F5F,$FF5,$FFF DIM rline(0 TO 335) AS ubyte DIM gline(0 TO 335) AS ubyte DIM bline(0 TO 335) AS ubyte DIM hamline(0 TO 335) AS ubyte dim iline() as ushort FOR v = vres - 1 TO 0 STEP -1 ' wczytaj linię pikseli 15 bit get #ff,,iline() ' redukcja rgb15 do rgb12 FOR h = 0 TO hres-1 c=iline(h) bline(h) = (c AND 30) shr 1 gline(h) = (c and 960) shr 6 rline(h) = (c and 30720) shr 11 NEXT h ' HAMify it FOR h = 0 TO hres-1 r = rline(h) g = gline(h) b = bline(h) ' dla pierwszego piksela wybierz najbliższy z palety IF h = 0 THEN IF (r AND 7) + (g AND 7) + (b AND 7) > 12 THEN c = 8: oldhamr = 5: oldhamg = 5: oldhamb = 5 ELSE c = 0: oldhamr = 0: oldhamg = 0: oldhamb = 0 END IF IF (r AND 8) THEN c = c + 4: oldhamr = oldhamr + 10 IF (g AND 8) THEN c = c + 2: oldhamg = oldhamg + 10 IF (b AND 8) THEN c = c + 1: oldhamb = oldhamb + 10 hamline(0) = c GOTO a52 END IF ' jeśli pixel jest biały lub czarny IF r = 15 THEN IF g = 15 THEN IF b = 15 THEN hamline(h) = 15: oldhamr = 15: oldhamg = 15: oldhamb = 15: GOTO a52 IF r = 0 THEN IF g = 0 THEN IF b = 0 THEN hamline(h) = 0: oldhamr = 0: oldhamg = 0: oldhamb = 0: GOTO a52 ' różnice abs rdiff = r - oldhamr: IF r < oldhamr THEN rdiff = oldhamr - r gdiff = g - oldhamg: IF g < oldhamg THEN gdiff = oldhamg - g bdiff = b - oldhamb: IF b < oldhamb THEN bdiff = oldhamb - b ' wybierz kolor ham IF ((bdiff > gdiff) AND (bdiff > rdiff)) THEN c = b + 16: oldhamb = b: GOTO a53 IF ((rdiff >= bdiff) AND (rdiff > gdiff)) THEN c = r + 32: oldhamr = r: GOTO a53 c = g + 48: oldhamg = g a53: hamline(h) = c a52: NEXT h
@cholok, post #49
@peceha, post #50
@Norbert, post #51
@] SKOLMAN_MWS ˇ agrEssOr [, post #55
@peceha, post #56
@peceha, post #57
@cholok, post #59