Code archives/Graphics/FadeBlock
This code has been declared by its author to be Public Domain code.
Download source code
| |||||
| Fades/Brightens any graphics buffer to another buffer (or the same buffer). Easy to use and lets user select separate rgb color levels to fade ex: Fade Red 50%,Green 70%,Blue 10% | |||||
;FadeBlock function
;Created by: wickedRush Software
;e-mail: wickedrush@wickedrush.com
;
;modified on Dec 23,2001
;
;Fades/Brightens any buffer to specified rgb values
; syntax:
; fadeblock(x,y,width,height,source buffer,destination buffer,Red Fade Amount or total fade amount,
; [green fade amount],[blue fade amount])
;
;if green and blue fade amounts are 0 or left off then function uses red fade amount for all colors.
hdl=LoadImage("c:\blitz3d\media\test.bmp") ; <-Change to any bitmap to test fade effect
SetBuffer BackBuffer()
DrawImage hdl,0,0 ; draw image to backbuffer
fadeblock(200,100,200,200,BackBuffer(),BackBuffer(),.7,.3,1) ; fade area 200,100 width 200, height 200
; from the backbuffer to the backbuffer
; fade red 70% as bright, fade green 30%, no fade for blue
fadeblock(10,10,100,100,BackBuffer(),BackBuffer(),1.5)
; brighten area 10,10 width 100, height 100. brighten entire area to 150%
Flip
While Not KeyHit(1)
Wend
End
Function FadeBlock(x,y,x1,y1,frombuffer,tobuffer,fadeR#,fadeG#=0,fadeB#=0)
LockBuffer frombuffer
LockBuffer tobuffer
If fadeB=0 Then fadeB=fadeR
If fadeG=0 Then fadeG=fadeR
For s1=x To x+x1
For s2=y To y+y1
rgb=ReadPixelFast(s1,s2,frombuffer) And $ffffff
r=(rgb Shr 16) And 255
g=(rgb Shr 8) And 255
b=rgb And 255
r=r*fadeR
b=b*fadeB
g=g*fadeG
If r>255 Then r=255
If g>255 Then g=255
If b>255 Then b=255
rgb=(r Shl 16)+(g Shl 8)+b
WritePixelFast s1,s2,rgb,tobuffer
Next
Next
UnlockBuffer frombuffer
UnlockBuffer tobuffer
End Function |
Comments
None.
Code Archives Forum