klayout/testdata/ruby/imgObject.rb

453 lines
19 KiB
Ruby

# encoding: UTF-8
# KLayout Layout Viewer
# Copyright (C) 2006-2024 Matthias Koefferlein
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
if !$:.member?(File::dirname($0))
$:.push(File::dirname($0))
end
load("test_prologue.rb")
class IMG_TestClass < TestBase
def test_1
if !RBA.constants.member?(:ImageDataMapping)
return
end
dm = RBA::ImageDataMapping.new
dm.gamma = 0.5
assert_equal(dm.gamma, 0.5)
dm.brightness = 0.25
assert_equal(dm.brightness, 0.25)
dm.contrast = -0.125
assert_equal(dm.contrast, -0.125)
dm.red_gain = 1.25
assert_equal(dm.red_gain, 1.25)
dm.green_gain = 1.125
assert_equal(dm.green_gain, 1.125)
dm.blue_gain = 0.125
assert_equal(dm.blue_gain, 0.125)
assert_equal(dm.num_colormap_entries, 2)
assert_equal(dm.colormap_color(0) & 0xffffff, 0x000000)
assert_equal(dm.colormap_color(1) & 0xffffff, 0xffffff)
dm.clear_colormap
assert_equal(dm.num_colormap_entries, 0)
dm.add_colormap_entry(0, 0x123456);
dm.add_colormap_entry(0.5, 0xff0000);
dm.add_colormap_entry(0.75, 0x123456, 0x654321);
dm.add_colormap_entry(1.0, 0x00ff00);
assert_equal(dm.num_colormap_entries, 4)
assert_equal(dm.colormap_color(0) & 0xffffff, 0x123456)
assert_equal(dm.colormap_value(0), 0.0)
assert_equal(dm.colormap_color(1) & 0xffffff, 0xff0000)
assert_equal(dm.colormap_lcolor(1) & 0xffffff, 0xff0000)
assert_equal(dm.colormap_rcolor(1) & 0xffffff, 0xff0000)
assert_equal(dm.colormap_value(1), 0.5)
assert_equal(dm.colormap_color(2) & 0xffffff, 0x123456)
assert_equal(dm.colormap_lcolor(2) & 0xffffff, 0x123456)
assert_equal(dm.colormap_rcolor(2) & 0xffffff, 0x654321)
assert_equal(dm.colormap_value(2), 0.75)
assert_equal(dm.colormap_color(3) & 0xffffff, 0x00ff00)
assert_equal(dm.colormap_value(3), 1.0)
image = RBA::Image.new
image.data_mapping = dm
dm2 = image.data_mapping
assert_equal(dm2.num_colormap_entries, 4)
dm.clear_colormap
assert_equal(dm2.num_colormap_entries, 4)
assert_equal(dm.num_colormap_entries, 0)
end
def test_2
if !RBA.constants.member?(:Image)
return
end
image = RBA::Image.new
assert_equal(image.to_s, "empty:")
assert_equal(image.is_empty?, true)
image2 = RBA::Image::from_s(image.to_s)
assert_equal(image2.to_s, image.to_s)
image = RBA::Image.new(2, 3, [])
assert_equal(image.to_s, "mono:matrix=(1,0,0) (0,1,0) (0,0,1);min_value=0;max_value=1;is_visible=true;z_position=0;brightness=0;contrast=0;gamma=1;red_gain=1;green_gain=1;blue_gain=1;color_mapping=[0,'#000000';1,'#ffffff';];width=2;height=3;data=[0;0;0;0;0;0;]")
image2 = RBA::Image::from_s(image.to_s)
assert_equal(image2.to_s, image.to_s)
image = RBA::Image.new(2, 3, [], [], [])
assert_equal(image.to_s, "color:matrix=(1,0,0) (0,1,0) (0,0,1);min_value=0;max_value=1;is_visible=true;z_position=0;brightness=0;contrast=0;gamma=1;red_gain=1;green_gain=1;blue_gain=1;color_mapping=[0,'#000000';1,'#ffffff';];width=2;height=3;data=[0,0,0;0,0,0;0,0,0;0,0,0;0,0,0;0,0,0;]")
image2 = RBA::Image::from_s(image.to_s)
assert_equal(image2.to_s, image.to_s)
data = [0.0, 0.5, 1.5, 2.5, 10, 20]
image = RBA::Image.new(2, 3, data)
assert_equal(image.to_s, "mono:matrix=(1,0,0) (0,1,0) (0,0,1);min_value=0;max_value=1;is_visible=true;z_position=0;brightness=0;contrast=0;gamma=1;red_gain=1;green_gain=1;blue_gain=1;color_mapping=[0,'#000000';1,'#ffffff';];width=2;height=3;data=[0;0.5;1.5;2.5;10;20;]")
data2 = [1.0, 1.5, 2.5, 3.5]
image = RBA::Image.new(2, 3, data, data2, [])
assert_equal(image.to_s, "color:matrix=(1,0,0) (0,1,0) (0,0,1);min_value=0;max_value=1;is_visible=true;z_position=0;brightness=0;contrast=0;gamma=1;red_gain=1;green_gain=1;blue_gain=1;color_mapping=[0,'#000000';1,'#ffffff';];width=2;height=3;data=[0,1,0;0.5,1.5,0;1.5,2.5,0;2.5,3.5,0;10,0,0;20,0,0;]")
t = RBA::DCplxTrans.new(2.5, 90, false, RBA::DPoint.new(1, 5))
image = RBA::Image.new(2, 3, t, [])
assert_equal(image.to_s, "mono:matrix=(0,-2.5,-2.75) (2.5,0,7.5) (0,0,1);min_value=0;max_value=1;is_visible=true;z_position=0;brightness=0;contrast=0;gamma=1;red_gain=1;green_gain=1;blue_gain=1;color_mapping=[0,'#000000';1,'#ffffff';];width=2;height=3;data=[0;0;0;0;0;0;]")
image = RBA::Image.new(2, 3, t, [], [], [])
assert_equal(image.to_s, "color:matrix=(0,-2.5,-2.75) (2.5,0,7.5) (0,0,1);min_value=0;max_value=1;is_visible=true;z_position=0;brightness=0;contrast=0;gamma=1;red_gain=1;green_gain=1;blue_gain=1;color_mapping=[0,'#000000';1,'#ffffff';];width=2;height=3;data=[0,0,0;0,0,0;0,0,0;0,0,0;0,0,0;0,0,0;]")
data = [0.0, 0.5, 1.5, 2.5, 10, 20]
data2 = [1.0, 1.5, 2.5, 3.5]
image = RBA::Image.new(2, 3, t, data)
assert_equal(image.to_s, "mono:matrix=(0,-2.5,-2.75) (2.5,0,7.5) (0,0,1);min_value=0;max_value=1;is_visible=true;z_position=0;brightness=0;contrast=0;gamma=1;red_gain=1;green_gain=1;blue_gain=1;color_mapping=[0,'#000000';1,'#ffffff';];width=2;height=3;data=[0;0.5;1.5;2.5;10;20;]")
assert_equal(image.is_empty?, false)
assert_equal(image.is_color?, false)
ii = image.dup
assert_equal(ii.to_s, "mono:matrix=(0,-2.5,-2.75) (2.5,0,7.5) (0,0,1);min_value=0;max_value=1;is_visible=true;z_position=0;brightness=0;contrast=0;gamma=1;red_gain=1;green_gain=1;blue_gain=1;color_mapping=[0,'#000000';1,'#ffffff';];width=2;height=3;data=[0;0.5;1.5;2.5;10;20;]")
assert_equal(ii.mask(1, 2), true)
assert_equal(ii.to_s, "mono:matrix=(0,-2.5,-2.75) (2.5,0,7.5) (0,0,1);min_value=0;max_value=1;is_visible=true;z_position=0;brightness=0;contrast=0;gamma=1;red_gain=1;green_gain=1;blue_gain=1;color_mapping=[0,'#000000';1,'#ffffff';];width=2;height=3;data=[0;0.5;1.5;2.5;10;20;]")
image.set_mask(1, 2, false)
md = image.mask_data
assert_equal(ii.to_s, "mono:matrix=(0,-2.5,-2.75) (2.5,0,7.5) (0,0,1);min_value=0;max_value=1;is_visible=true;z_position=0;brightness=0;contrast=0;gamma=1;red_gain=1;green_gain=1;blue_gain=1;color_mapping=[0,'#000000';1,'#ffffff';];width=2;height=3;data=[0,1;0.5,1;1.5,1;2.5,1;10,1;20,0;]")
assert_equal(ii.mask(1, 2), false)
image.set_mask(1, 2, true)
assert_equal(ii.mask(1, 2), true)
image.mask_data = md
assert_equal(ii.mask(1, 2), false)
image.mask_data = []
assert_equal(ii.mask(1, 2), true)
image.set_data(2, 3, data, data2, [])
copy1 = image.dup
assert_equal(image.to_s, "color:matrix=(0,-2.5,-2.75) (2.5,0,7.5) (0,0,1);min_value=0;max_value=1;is_visible=true;z_position=0;brightness=0;contrast=0;gamma=1;red_gain=1;green_gain=1;blue_gain=1;color_mapping=[0,'#000000';1,'#ffffff';];width=2;height=3;data=[0,1,0;0.5,1.5,0;1.5,2.5,0;2.5,3.5,0;10,0,0;20,0,0;]")
image = RBA::Image.new(2, 3, t, data, data2, [])
assert_equal(image.to_s, "color:matrix=(0,-2.5,-2.75) (2.5,0,7.5) (0,0,1);min_value=0;max_value=1;is_visible=true;z_position=0;brightness=0;contrast=0;gamma=1;red_gain=1;green_gain=1;blue_gain=1;color_mapping=[0,'#000000';1,'#ffffff';];width=2;height=3;data=[0,1,0;0.5,1.5,0;1.5,2.5,0;2.5,3.5,0;10,0,0;20,0,0;]")
assert_equal(image.is_empty?, false)
assert_equal(image.is_color?, true)
image.set_pixel(1, 2, 100, 200, 300)
assert_equal(image.to_s, "color:matrix=(0,-2.5,-2.75) (2.5,0,7.5) (0,0,1);min_value=0;max_value=1;is_visible=true;z_position=0;brightness=0;contrast=0;gamma=1;red_gain=1;green_gain=1;blue_gain=1;color_mapping=[0,'#000000';1,'#ffffff';];width=2;height=3;data=[0,1,0;0.5,1.5,0;1.5,2.5,0;2.5,3.5,0;10,0,0;100,200,300;]")
assert_equal(image.get_pixel(1, 2, 0), 100)
assert_equal(image.get_pixel(1, 2, 1), 200)
assert_equal(image.get_pixel(1, 2, 2), 300)
image.set_data(2, 3, data)
assert_equal(image.to_s, "mono:matrix=(0,-2.5,-2.75) (2.5,0,7.5) (0,0,1);min_value=0;max_value=1;is_visible=true;z_position=0;brightness=0;contrast=0;gamma=1;red_gain=1;green_gain=1;blue_gain=1;color_mapping=[0,'#000000';1,'#ffffff';];width=2;height=3;data=[0;0.5;1.5;2.5;10;20;]")
d = image.data
image.set_data(2, 3, [])
assert_equal(image.to_s, "mono:matrix=(0,-2.5,-2.75) (2.5,0,7.5) (0,0,1);min_value=0;max_value=1;is_visible=true;z_position=0;brightness=0;contrast=0;gamma=1;red_gain=1;green_gain=1;blue_gain=1;color_mapping=[0,'#000000';1,'#ffffff';];width=2;height=3;data=[0;0;0;0;0;0;]")
image.set_data(2, 3, d)
assert_equal(image.to_s, "mono:matrix=(0,-2.5,-2.75) (2.5,0,7.5) (0,0,1);min_value=0;max_value=1;is_visible=true;z_position=0;brightness=0;contrast=0;gamma=1;red_gain=1;green_gain=1;blue_gain=1;color_mapping=[0,'#000000';1,'#ffffff';];width=2;height=3;data=[0;0.5;1.5;2.5;10;20;]")
assert_equal(image.width, 2);
assert_equal(image.height, 3);
assert_equal(image.box.to_s, "(-6.5,5;1,10)")
image.pixel_width = 1
image.pixel_height = 1
image.trans = RBA::DCplxTrans.new
assert_equal(image.box.to_s, "(0,0;2,3)")
image.pixel_width = 4
image.pixel_height = 5
image.trans = RBA::DCplxTrans.new
assert_equal(image.box.to_s, "(0,0;8,15)")
assert_equal(image.pixel_width, 4)
assert_equal(image.pixel_height, 5)
image = image.transformed_cplx(RBA::DCplxTrans.new(1, 0, false, RBA::DPoint.new(1, 2)))
assert_equal(image.box.to_s, "(1,2;9,17)")
assert_equal(image.trans.to_s, "r0 *1 1,2")
assert_equal(image.matrix.to_s, "(4,0,5) (0,5,9.5) (0,0,1)")
assert_equal(image.filename, "")
fn = ENV["TESTSRC"] + "/testdata/img/gs.png"
image = RBA::Image.new(fn)
assert_equal(image.trans.to_s, "r0 *1 -513.5,-349")
assert_equal(image.width, 1027)
assert_equal(image.height, 698)
assert_equal(image.filename, fn)
image = RBA::Image.new(fn, t)
assert_equal(image.trans.to_s, "r90 *1 873.5,-1278.75")
assert_equal(image.width, 1027)
assert_equal(image.height, 698)
image.min_value = -12.5
assert_equal(image.min_value, -12.5)
image.max_value = 12.5
assert_equal(image.max_value, 12.5)
assert_equal(image.id != 0, true)
image = copy1
assert_equal(image.to_s, "color:matrix=(0,-2.5,-2.75) (2.5,0,7.5) (0,0,1);min_value=0;max_value=1;is_visible=true;z_position=0;brightness=0;contrast=0;gamma=1;red_gain=1;green_gain=1;blue_gain=1;color_mapping=[0,'#000000';1,'#ffffff';];width=2;height=3;data=[0,1,0;0.5,1.5,0;1.5,2.5,0;2.5,3.5,0;10,0,0;20,0,0;]")
dm = image.data_mapping.dup
dm.brightness=0.5
image.data_mapping = dm
assert_equal(image.to_s, "color:matrix=(0,-2.5,-2.75) (2.5,0,7.5) (0,0,1);min_value=0;max_value=1;is_visible=true;z_position=0;brightness=0.5;contrast=0;gamma=1;red_gain=1;green_gain=1;blue_gain=1;color_mapping=[0,'#000000';1,'#ffffff';];width=2;height=3;data=[0,1,0;0.5,1.5,0;1.5,2.5,0;2.5,3.5,0;10,0,0;20,0,0;]")
assert_equal(image.is_visible?, true)
image.visible = false
assert_equal(image.is_visible?, false)
assert_equal(image.to_s, "color:matrix=(0,-2.5,-2.75) (2.5,0,7.5) (0,0,1);min_value=0;max_value=1;is_visible=false;z_position=0;brightness=0.5;contrast=0;gamma=1;red_gain=1;green_gain=1;blue_gain=1;color_mapping=[0,'#000000';1,'#ffffff';];width=2;height=3;data=[0,1,0;0.5,1.5,0;1.5,2.5,0;2.5,3.5,0;10,0,0;20,0,0;]")
d1 = image.data(0)
d2 = image.data(1)
d3 = image.data(2)
image.set_data(2, 3, [], [], [])
assert_equal(image.to_s, "color:matrix=(0,-2.5,-2.75) (2.5,0,7.5) (0,0,1);min_value=0;max_value=1;is_visible=false;z_position=0;brightness=0.5;contrast=0;gamma=1;red_gain=1;green_gain=1;blue_gain=1;color_mapping=[0,'#000000';1,'#ffffff';];width=2;height=3;data=[0,0,0;0,0,0;0,0,0;0,0,0;0,0,0;0,0,0;]")
image.set_data(2, 3, d1, d2, d3)
assert_equal(image.to_s, "color:matrix=(0,-2.5,-2.75) (2.5,0,7.5) (0,0,1);min_value=0;max_value=1;is_visible=false;z_position=0;brightness=0.5;contrast=0;gamma=1;red_gain=1;green_gain=1;blue_gain=1;color_mapping=[0,'#000000';1,'#ffffff';];width=2;height=3;data=[0,1,0;0.5,1.5,0;1.5,2.5,0;2.5,3.5,0;10,0,0;20,0,0;]")
end
def test_3
if !RBA.constants.member?(:Image)
return
end
# compatibility with 0.21
d = []
20000.times { d.push(0.0) }
image = RBA::Image.new(100, 200, d)
image.pixel_width = 1
image.pixel_height = 2
image.trans = RBA::DCplxTrans::new(1.5, 90, true, RBA::DPoint::new(-50, -100))
assert_equal(image.box.to_s, "(-50,-100;550,50)")
assert_equal(image.pixel_width.to_s, "1.5")
assert_equal(image.pixel_height.to_s, "3.0")
assert_equal(image.trans.to_s, "m45 *1 -50,-100")
end
def test_4
if !RBA.constants.member?(:Application)
return
end
mw = RBA::Application.instance.main_window
mw.close_all
mw.create_layout(0)
view = mw.current_view
iac = 0
ic = []
isc = 0
view.on_images_changed { iac += 1 }
view.on_image_changed { |id| ic << id }
view.on_image_selection_changed { isc += 1 }
image = RBA::Image.new(2, 3, [])
assert_equal(image.is_valid?, false)
assert_equal(image.to_s, "mono:matrix=(1,0,0) (0,1,0) (0,0,1);min_value=0;max_value=1;is_visible=true;z_position=0;brightness=0;contrast=0;gamma=1;red_gain=1;green_gain=1;blue_gain=1;color_mapping=[0,'#000000';1,'#ffffff';];width=2;height=3;data=[0;0;0;0;0;0;]")
count = 0
view.each_image { |i| count += 1 }
assert_equal(count, 0)
view.insert_image(image)
assert_equal(iac, 1)
assert_equal(ic, [])
assert_equal(isc, 0 )
assert_equal(image.is_valid?, true)
assert_equal(view.image(-1).is_valid?, false )
assert_equal(view.image(image.id).is_valid?, true )
assert_equal(view.image(image.id).to_s, "mono:matrix=(1,0,0) (0,1,0) (0,0,1);min_value=0;max_value=1;is_visible=true;z_position=0;brightness=0;contrast=0;gamma=1;red_gain=1;green_gain=1;blue_gain=1;color_mapping=[0,'#000000';1,'#ffffff';];width=2;height=3;data=[0;0;0;0;0;0;]")
s = ""
count = 0
view.each_image { |i| count += 1; s += i.to_s }
assert_equal(count, 1)
assert_equal(s, "mono:matrix=(1,0,0) (0,1,0) (0,0,1);min_value=0;max_value=1;is_visible=true;z_position=0;brightness=0;contrast=0;gamma=1;red_gain=1;green_gain=1;blue_gain=1;color_mapping=[0,'#000000';1,'#ffffff';];width=2;height=3;data=[0;0;0;0;0;0;]")
image.z_position = 1
assert_equal(image.z_position, 1)
s = ""
view.each_image { |i| s += i.to_s }
assert_equal(s, "mono:matrix=(1,0,0) (0,1,0) (0,0,1);min_value=0;max_value=1;is_visible=true;z_position=0;brightness=0;contrast=0;gamma=1;red_gain=1;green_gain=1;blue_gain=1;color_mapping=[0,'#000000';1,'#ffffff';];width=2;height=3;data=[0;0;0;0;0;0;]")
# view updates are deferred - hence this:
RBA::Application::instance.process_events
s = ""
view.each_image { |i| s += i.to_s }
assert_equal(s, "mono:matrix=(1,0,0) (0,1,0) (0,0,1);min_value=0;max_value=1;is_visible=true;z_position=1;brightness=0;contrast=0;gamma=1;red_gain=1;green_gain=1;blue_gain=1;color_mapping=[0,'#000000';1,'#ffffff';];width=2;height=3;data=[0;0;0;0;0;0;]")
# NOTE: the on_images_changed event is not intended, but a side effect of the change currently
assert_equal(iac, 2)
assert_equal(ic, [ image.id ])
# NOTE: the on_image_selection_changed event is not intended, but a side effect of the change currently
assert_equal(isc, 1 )
view.clear_images
count = 0
view.each_image { |i| count += 1 }
assert_equal(count, 0)
image = RBA::Image.new(2, 3, [])
image2 = RBA::Image.new(20, 30, [])
view.insert_image(image)
view.insert_image(image2)
wsum = 0
hsum = 0
view.each_image { |i| wsum += i.width; hsum += i.height }
assert_equal(wsum, 22)
assert_equal(hsum, 33)
view.erase_image(image.id)
wsum = 0
hsum = 0
view.each_image { |i| wsum += i.width; hsum += i.height }
assert_equal(wsum, 20)
assert_equal(hsum, 30)
new_image2 = RBA::Image.new(12, 13, [])
view.replace_image(image2.id, new_image2)
wsum = 0
hsum = 0
view.each_image { |i| wsum += i.width; hsum += i.height }
assert_equal(wsum, 12)
assert_equal(hsum, 13)
visible = 0
total = 0
view.each_image { |i| visible += 1 if i.is_visible?; total += 1 }
assert_equal(visible, 1)
assert_equal(total, 1)
view.show_image(new_image2.id, false)
visible = 0
total = 0
view.each_image { |i| visible += 1 if i.is_visible?; total += 1 }
assert_equal(visible, 0)
assert_equal(total, 1)
image2 = RBA::Image.new(1, 4, [])
view.insert_image(image2)
visible = 0
total = 0
view.each_image { |i| visible += 1 if i.is_visible?; total += 1 }
assert_equal(visible, 1)
assert_equal(total, 2)
image2.visible = false
visible = 0
total = 0
view.each_image { |i| visible += 1 if i.is_visible?; total += 1 }
assert_equal(visible, 1)
assert_equal(total, 2)
# view updates are deferred - hence this:
RBA::Application::instance.process_events
visible = 0
total = 0
view.each_image { |i| visible += 1 if i.is_visible?; total += 1 }
assert_equal(visible, 0)
assert_equal(total, 2)
view.each_image { |i| i.delete }
visible = 0
total = 0
view.each_image { |i| visible += 1 if i.is_visible?; total += 1 }
assert_equal(visible, 0)
assert_equal(total, 0)
mw.close_all
end
def test_5
tmp = File::join($ut_testtmp, "tmp.lyimg")
t = RBA::DCplxTrans.new(2.5, 90, false, RBA::DPoint.new(1, 5))
image = RBA::Image.new(2, 3, t, [1,2,3,4,5,6])
assert_equal(image.to_s, "mono:matrix=(0,-2.5,-2.75) (2.5,0,7.5) (0,0,1);min_value=0;max_value=1;is_visible=true;z_position=0;brightness=0;contrast=0;gamma=1;red_gain=1;green_gain=1;blue_gain=1;color_mapping=[0,'#000000';1,'#ffffff';];width=2;height=3;data=[1;2;3;4;5;6;]")
image.write(tmp)
image.clear
assert_equal(image.to_s, "mono:matrix=(0,-2.5,-2.75) (2.5,0,7.5) (0,0,1);min_value=0;max_value=1;is_visible=true;z_position=0;brightness=0;contrast=0;gamma=1;red_gain=1;green_gain=1;blue_gain=1;color_mapping=[0,'#000000';1,'#ffffff';];width=2;height=3;data=[0;0;0;0;0;0;]")
image2 = RBA::Image::read(tmp)
assert_equal(image2.to_s, "mono:matrix=(0,-2.5,-2.75) (2.5,0,7.5) (0,0,1);min_value=0;max_value=1;is_visible=true;z_position=0;brightness=0;contrast=0;gamma=1;red_gain=1;green_gain=1;blue_gain=1;color_mapping=[0,'#000000';1,'#ffffff';];width=2;height=3;data=[1;2;3;4;5;6;]")
end
# Construction from PixelBuffer
def test_6
fn = ENV["TESTSRC"] + "/testdata/img/gs.png"
pb = RBA::PixelBuffer::read_png(fn)
image = RBA::Image.new(pb)
assert_equal(image.trans.to_s, "r0 *1 -513.5,-349")
assert_equal(image.width, 1027)
assert_equal(image.height, 698)
end
# Construction from QImage
def test_7
if RBA.constants.find { |x| x == :QImage }
fn = ENV["TESTSRC"] + "/testdata/img/gs.png"
qimage = RBA::QImage::new(fn)
image = RBA::Image.new(qimage)
assert_equal(image.trans.to_s, "r0 *1 -513.5,-349")
assert_equal(image.width, 1027)
assert_equal(image.height, 698)
end
end
end
load("test_epilogue.rb")