dxruby_sdl icon indicating copy to clipboard operation
dxruby_sdl copied to clipboard

Image#set_color_key( color ) 実行時のエラー

Open noanoa07 opened this issue 10 years ago • 0 comments

Image#load で .bmp、.png の画像を読み込んだ Imageデータは、Image#set_color_key( color ) を実行すると以下のようなエラーが出ます。

/Users/username/.rbenv/versions/1.9.3-p448/lib/ruby/gems/1.9.1/gems/dxruby_sdl-0.0.10/lib/dxruby_sdl/image.rb:54:in `displayFormatAlpha': Couldn't convert surface format: No video mode has been set (SDL::Error)

from /Users/username/.rbenv/versions/1.9.3-p448/lib/ruby/gems/1.9.1/gems/dxruby_sdl-0.0.10/lib/dxruby_sdl/image.rb:54:in `set_color_key'

from sample1.rb:4:in `<main>'

 

  • sample1.rb(画像データ image.bmp があるとする)
require 'dxruby'

img = Image.load('image.bmp')
img.set_color_key([255, 255, 255])

Window.loop do
  Window.draw(200, 200, img)
end

     一方、Image#new で作った Imageデータだと、Image#set_color_key( color ) を実行してもエラーは出ませんでした。(透明化もできている)

  • sample2.rb
require 'dxruby'

img = Image.new(100, 100, [0, 0, 255])
img.set_color_key([0, 0, 255])

Window.loop do
  Window.draw(200, 200, img)
end

 

実行環境;

  • Mac OS X 10.9.3
  • Ruby 1.9.3-p448(2.1.2 でも)
  • dxruby_sdl 0.0.10

noanoa07 avatar Jun 14 '14 08:06 noanoa07