Code archives/Graphics/MirrorImage
This code has been declared by its author to be Public Domain code.
Download source code
| |||||
| This function returns an image, which is vertically mirrored and given a transparency gradient to create the impression of a mirror. How visible the mirror is can be adjusted by changing maxAlpha in the range from 0.0 up to 255.0 Example: http://www.blitzforum.de/upload/file.php?id=1265 | |||||
Function mirrorImage:TImage(img:TImage)
Local a:Int
Local r:Int
Local g:Int
Local b:Int
Local i:Int
Local j:Int
Local argb:Int
Local pixmap:TPixmap = LockImage(img)
pixmap = ConvertPixmap(pixmap,PF_RGBA8888)
pixmap = YFlipPixmap(pixmap)
For i = 0 To PixmapWidth(pixmap)-1
For j = 0 To PixmapHeight(pixmap)-1
argb = ReadPixel(pixmap,i,j)
a:Int = Int(76.0*(1.0-((Float(j)/Float(ImageHeight(img))))))
If (argb Shr 24) = 0 Then a = 0
r:Int = (argb Shr 16) & $ff
g:Int = (argb Shr 8) & $ff
b:Int = argb & $ff
argb = a*$1000000 + r*$10000 + g*$100 + b
WritePixel pixmap,i,j,argb
Next
Next
Return LoadImage(pixmap)
EndFunction |
Comments
| ||
| Nice effect |
Code Archives Forum