chunky_png 0.0.5 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README.rdoc +20 -10
- data/chunky_png.gemspec +18 -6
- data/lib/chunky_png.rb +11 -28
- data/lib/chunky_png/canvas.rb +186 -0
- data/lib/chunky_png/canvas/adam7_interlacing.rb +53 -0
- data/lib/chunky_png/canvas/drawing.rb +8 -0
- data/lib/chunky_png/{pixel_matrix → canvas}/operations.rb +12 -12
- data/lib/chunky_png/canvas/png_decoding.rb +145 -0
- data/lib/chunky_png/canvas/png_encoding.rb +182 -0
- data/lib/chunky_png/chunk.rb +101 -23
- data/lib/chunky_png/color.rb +307 -0
- data/lib/chunky_png/datastream.rb +143 -45
- data/lib/chunky_png/image.rb +31 -30
- data/lib/chunky_png/palette.rb +49 -47
- data/lib/chunky_png/rmagick.rb +43 -0
- data/spec/chunky_png/canvas/adam7_interlacing_spec.rb +108 -0
- data/spec/chunky_png/canvas/png_decoding_spec.rb +81 -0
- data/spec/chunky_png/canvas/png_encoding_spec.rb +70 -0
- data/spec/chunky_png/canvas_spec.rb +71 -0
- data/spec/chunky_png/color_spec.rb +104 -0
- data/spec/chunky_png/datastream_spec.rb +32 -0
- data/spec/chunky_png/image_spec.rb +25 -0
- data/spec/chunky_png/rmagick_spec.rb +21 -0
- data/spec/{integration/image_spec.rb → chunky_png_spec.rb} +14 -8
- data/spec/resources/composited.png +0 -0
- data/spec/resources/cropped.png +0 -0
- data/spec/resources/damaged_chunk.png +0 -0
- data/spec/resources/damaged_signature.png +13 -0
- data/spec/resources/pixelstream.rgba +67 -0
- data/spec/resources/replaced.png +0 -0
- data/spec/resources/text_chunk.png +0 -0
- data/spec/resources/ztxt_chunk.png +0 -0
- data/spec/spec_helper.rb +8 -5
- data/tasks/github-gem.rake +1 -1
- metadata +37 -18
- data/lib/chunky_png/pixel.rb +0 -272
- data/lib/chunky_png/pixel_matrix.rb +0 -136
- data/lib/chunky_png/pixel_matrix/decoding.rb +0 -159
- data/lib/chunky_png/pixel_matrix/encoding.rb +0 -89
- data/spec/unit/decoding_spec.rb +0 -83
- data/spec/unit/encoding_spec.rb +0 -27
- data/spec/unit/pixel_matrix_spec.rb +0 -93
- data/spec/unit/pixel_spec.rb +0 -47
data/spec/unit/pixel_spec.rb
DELETED
@@ -1,47 +0,0 @@
|
|
1
|
-
require File.expand_path('../spec_helper.rb', File.dirname(__FILE__))
|
2
|
-
|
3
|
-
describe ChunkyPNG::Pixel do
|
4
|
-
|
5
|
-
before(:each) do
|
6
|
-
@white = ChunkyPNG::Pixel.rgba(255, 255, 255, 255)
|
7
|
-
@black = ChunkyPNG::Pixel.rgba( 0, 0, 0, 255)
|
8
|
-
@opaque = ChunkyPNG::Pixel.rgba( 10, 100, 150, 255)
|
9
|
-
@non_opaque = ChunkyPNG::Pixel.rgba( 10, 100, 150, 100)
|
10
|
-
@fully_transparent = ChunkyPNG::Pixel.rgba( 10, 100, 150, 0)
|
11
|
-
end
|
12
|
-
|
13
|
-
it "should represent pixels as the correct number" do
|
14
|
-
@white.value.should == 0xffffffff
|
15
|
-
@black.value.should == 0x000000ff
|
16
|
-
@opaque.value.should == 0x0a6496ff
|
17
|
-
end
|
18
|
-
|
19
|
-
it "should correctly check for opaqueness" do
|
20
|
-
@white.should be_opaque
|
21
|
-
@black.should be_opaque
|
22
|
-
@opaque.should be_opaque
|
23
|
-
@non_opaque.should_not be_opaque
|
24
|
-
@fully_transparent.should_not be_opaque
|
25
|
-
end
|
26
|
-
|
27
|
-
it "should convert the individual color values back correctly" do
|
28
|
-
@opaque.to_truecolor_bytes.should == [10, 100, 150]
|
29
|
-
@non_opaque.to_truecolor_alpha_bytes.should == [10, 100, 150, 100]
|
30
|
-
end
|
31
|
-
|
32
|
-
describe '#compose' do
|
33
|
-
it "should use the foregorund pixel as is when an opaque pixel is given" do
|
34
|
-
(@white & @opaque).should == @opaque
|
35
|
-
end
|
36
|
-
|
37
|
-
it "should use the background pixel as is when a fully_transparent pixel is given" do
|
38
|
-
(@white & @fully_transparent).should == @white
|
39
|
-
end
|
40
|
-
|
41
|
-
it "should compose pixels correctly" do
|
42
|
-
(@white.compose_quick(@non_opaque)).should == ChunkyPNG::Pixel.new(0x9fc2d6ff)
|
43
|
-
(@white.compose_precise(@non_opaque)).should == ChunkyPNG::Pixel.new(0x9fc2d6ff)
|
44
|
-
end
|
45
|
-
end
|
46
|
-
end
|
47
|
-
|