RGB <-> Pixel Muunnokset
Author: MaGetzUb
Added: 28. toukokuuta 2011 kello 23.44
Edited: 25. marraskuuta 2014 kello 19.13
Category: Grafiikka
Description
Eli joo, tämä aihe löytyy yllätys yllätys myös CB foorumilta. :)
http://www.coolbasic.com/phpBB3/viewtopic.php?f=12&t=2575&p=53819#p53819
Koodi sisältää 2 funktiota & Esimerkin
PixToRGB(pixel, rgbchannel) <- Hakee pikseliväriarvosta halutun värikanavan arvon.
RGBToPix(r, g, b) <- Muuttaa tietyn r, g, b värin halutuksi pikseliarvoksi.
Code
Select all1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | //Esimerkki
Dim palette(3) As Integer
Dim names(3) As String
palette(0) = RGBToPix(255, 255, 255) 'cbwhite
palette(1) = RGBToPix(255, 0, 0) 'cbred
palette(2) = RGBToPix(207, 185, 237) 'cblightpurple
palette(3) = RGBToPix(123, 90, 0) 'cbblackskin
names(0) = "cbwhite"
names(1) = "cbred"
names(2) = "cblightpurple"
names(3) = "cbblackskin"
For i = 0 To 3
Color 0, 0,palette(i)
Print names(i) +"; "+ palette(i)
Next i
Print ""
Color cbwhite
For i = 0 To 3
Color PixToRGB(palette(i), RED), PixToRGB(palette(i), GREEN), PixToRGB(palette(i), BLUE)
Print names(i)
For j = 1 To 3
Print " "+PixToRGB(palette(i), j)
Next j
Next i
WaitKey
//Funktiot//
Function PixToRGB(pixel, rgbchannel)
Return ((pixel Shl (rgbchannel*8)) Shr 24)
EndFunction
Function RGBToPix(r, g, b)
Return b + r Shl 16 + g Shl 8
EndFunction
|
Comments
No comments. You can be first!
Leave a comment
You must be logged in to comment.