Initial catchat commit.
This commit is contained in:
commit
8b30fe923c
9 changed files with 460 additions and 0 deletions
61
pixel.rb
Normal file
61
pixel.rb
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
class Pixel
|
||||
@mp = nil
|
||||
|
||||
@r = 0
|
||||
@g = 0
|
||||
@b = 0
|
||||
|
||||
def initialize(mp)
|
||||
@mp = mp
|
||||
|
||||
@r = @mp.red
|
||||
@g = @mp.green
|
||||
@b = @mp.blue
|
||||
end
|
||||
|
||||
def randomize
|
||||
@r = ((@r >> 2) << 2) | rand(4)
|
||||
@g = ((@g >> 2) << 2) | rand(4)
|
||||
@b = ((@b >> 2) << 2) | rand(4)
|
||||
end
|
||||
|
||||
def getMagickPixel
|
||||
@mp.red = @r
|
||||
@mp.green = @g
|
||||
@mp.blue = @b
|
||||
return @mp
|
||||
end
|
||||
|
||||
def getPixelBits()
|
||||
bits = 0
|
||||
|
||||
bits = (bits << 8) | @r
|
||||
bits = (bits << 8) | @g
|
||||
bits = (bits << 8) | @b
|
||||
|
||||
return bits
|
||||
end
|
||||
|
||||
def encodeBits(bits)
|
||||
@r = ((@r >> 2) << 2) | (bits & 3)
|
||||
bits = bits >> 2
|
||||
|
||||
@g = ((@g >> 2) << 2) | (bits & 3)
|
||||
bits = bits >> 2
|
||||
|
||||
@b = ((@b >> 2) << 2) | (bits & 3)
|
||||
bits = bits >> 2
|
||||
|
||||
return bits
|
||||
end
|
||||
|
||||
def decodeBits
|
||||
bits = 0
|
||||
|
||||
bits = (bits << 2) | (@b & 3)
|
||||
bits = (bits << 2) | (@g & 3)
|
||||
bits = (bits << 2) | (@r & 3)
|
||||
|
||||
return bits
|
||||
end
|
||||
end
|
||||
Loading…
Add table
Add a link
Reference in a new issue