| grafisches Aufhellen / Abdunkeln
je denke cet beiden Prozeduren expliquer sich selbst, sommes pas qui schnellsten, mais marcher et se mettre un bisl qui Funktionsweise solcher Operationen dar. KompilierenMarqueSéparation
proc void_gfxbright
parameters x%,y%,xx%,yy%
declare q%,w%,rr%,gg%,bb%,p&
w%=y%
while lt(w%,yy%)
q%=x%
while lt(q%,xx%)
p&=getpixel(q%,w%)
rr%=getrvalue(p&)
gg%=getgvalue(p&)
bb%=getbvalue(p&)
rr%=(255-rr%)/5+rr%
gg%=(255-gg%)/5+gg%
bb%=(255-bb%)/5+bb%
setpixel q%,w%,rgb(rr%,gg%,bb%)
add q%,1
wend
add w%,1
wend
endproc
KompilierenMarqueSéparation
proc void_gfxdark
parameters x%,y%,xx%,yy%
declare q%,w%,rr%,gg%,bb%,p&
w%=y%
tandis que lt(w%,yy%)
q%=x%
tandis que lt(q%,xx%)
p&=getpixel(q%,w%)
rr%=getrvalue(p&)
gg%=getgvalue(p&)
bb%=getbvalue(p&)
rr%=rr%-(rr%/6)
gg%=gg%-(gg%/6)
bb%=bb%-(bb%/6)
setpixel q%,w%,rgb(rr%,gg%,bb%)
add q%,1
Wend
add w%,1
Wend
endproc
Grafische Effekte de Sebastian König: KompilierenMarqueSéparation
proc Graustufen
parameters startx%,starty%,endx%,endy%
declare x%,y%
declare r%,g%,b%
let x%=startx%
let y%=starty%
let endx%=@add(startx%,endx%)
let endy%=@add(starty%,endy%)
tandis que @Lt(y%,endy%)
tandis que @Lt(x%,endx%)
let r%=@div&(@add(@add(@GetRValue(@GetPixel(% X, y%)),@GetGValue(
@GetPixel(% X, y%))),@GetBValue(@GetPixel(% X, y%))),3)
let g%=r%
let b%=g%
SetPixel % X, y%,@RGB(r%,g%,b%)
inc x%
Wend
let x%=startx%
inc y%
Wend
endproc
KompilierenMarqueSéparation
proc Weichzeichnen
parameters startx%,starty%,endx%,endy%
declare x%,y%
declare r%,g%,b%
let x%=startx%
let y%=starty%
let endx%=@sub(@add(startx%,endx%),1)
let endy%=@sub(@add(starty%,endy%),1)
tandis que @Lt(y%,endy%)
tandis que @Lt(x%,endx%)
let r%=@div&(@add(@add(@GetRValue(@getPixel(% X, y%)),@GetRValue(@getPixel(@add(% X,1),y%))),
@GetRValue(@getPixel(x%,@add(y%,1)))),3)
let g%=@div&(@add(@add(@GetGValue(@getPixel(% X, y%)),@GetGValue(@getPixel(@add(% X,1),y%))),
@GetGValue(@getPixel(x%,@add(y%,1)))),3)
let b%=@div&(@add(@add(@GetBValue(@getPixel(% X, y%)),@GetBValue(@getPixel(@add(% X,1),y%))),
@GetBValue(@getPixel(x%,@add(y%,1)))),3)
SetPixel % X, y%,@RGB(r%,g%,b%)
inc x%
Wend
let x%=startx%
inc y%
Wend
endproc
KompilierenMarqueSéparation
proc Stark_Weichzeichnen
parameters startx%,starty%,endx%,endy%
declare x%,y%
declare r%,g%,b%
declare value1%,value2%,value3%,value4%,value5%
let x%=@add(startx%,1)
let y%=@add(starty%,1)
let endx%=@sub(@add(startx%,endx%),1)
let endy%=@sub(@add(starty%,endy%),1)
tandis que @Lt(y%,endy%)
tandis que @Lt(x%,endx%)
let value1%=@getRValue(@GetPixel(% X, y%))
let value2%=@getRValue(@GetPixel(@add(% X,1),y%))
let value3%=@getRValue(@GetPixel(x%,@add(y%,1)))
let value4%=@getRValue(@getPixel(@sub(% X,1),y%))
let value5%=@getRValue(@getPixel(x%,@sub(y%,1)))
let r%=@div&(@add(@add(@add(value1%,value2%),@add(value3%,value4%)),value5%),5)
let value1%=@getGValue(@GetPixel(% X, y%))
let value2%=@getGValue(@GetPixel(@add(% X,1),y%))
let value3%=@getGValue(@GetPixel(x%,@add(y%,1)))
let value4%=@getGValue(@getPixel(@sub(% X,1),y%))
let value5%=@getGValue(@getPixel(x%,@sub(y%,1)))
let g%=@div&(@add(@add(@add(value1%,value2%),@add(value3%,value4%)),value5%),5)
let value1%=@getBValue(@GetPixel(% X, y%))
let value2%=@getBValue(@GetPixel(@add(% X,1),y%))
let value3%=@getBValue(@GetPixel(x%,@add(y%,1)))
let value4%=@getBValue(@getPixel(@sub(% X,1),y%))
let value5%=@getBValue(@getPixel(x%,@sub(y%,1)))
let b%=@div&(@add(@add(@add(value1%,value2%),@add(value3%,value4%)),value5%),5)
SetPixel % X, y%,@RGB(r%,g%,b%)
inc x%
Wend
let x%=startx%
inc y%
Wend
endproc
KompilierenMarqueSéparation
proc Halbton
parameters startx%,starty%,endx%,endy%
declare x%,y%
declare color%
let x%=startx%
let y%=starty%
let endx%=@add(startx%,endx%)
let endy%=@add(starty%,endy%)
tandis que @Lt(y%,endy%)
tandis que @Lt(x%,endx%)
let color%=@div&(@add(@add(@GetRValue(@GetPixel(% X, y%)),@GetGValue(
@GetPixel(% X, y%))),@GetBValue(@GetPixel(% X, y%))),3)
cas @equ(color%,@div&(255,2)) : let color%=@RGB(255,255,255)
cas @Lt(color%,@div&(255,2)) : let color%=@RGB(0,0,0)
cas @Gt(color%,@div&(255,2)) : let color%=@RGB(255,255,255)
SetPixel x%,y%,color%
inc x%
Wend
let x%=startx%
inc y%
Wend
endproc
|
|