Login Register
Frontpage Code library Pastebin

RGB <-> Pixel Muunnokset

Author: MaGetzUb
Added: 28.5.2011 23:44
Edited: 25.11.2014 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 all
 1
 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.