Image#lineで描画する斜めの線はアンチエイリアスが掛かっていると表示されない箇所がある
sada opened this issue · 3 comments
sada commented
dxruby_sdlのImage#lineは、デフォルトでアンチエイリアスがtrueになっています。
ただ、この設定が必ずtrueになっていると、斜めの線がぼかされて途中で表示されない箇所があります。
def line(x1, y1, x2, y2, color) lock do @_surface.draw_line(x1, y1, x2, y2, - to_sdl_color(color), true, to_sdl_alpha(color)) + to_sdl_color(color), false, to_sdl_alpha(color)) end return self end
以下は参考用のコードです。
dxruby_sdlの0.0.6とsmalrubyの0.0.5の組み合わせで描画した時は、途中で非表示の箇所が幾つかありました。
https://gist.github.com/sada/b7d6201d83b8c7621c98
Ruby/SDLで描画した時は、描画されました。
https://gist.github.com/sada/00d05507592c8fe0cca1
$ sdl-config --version 1.2.15
takaokouji commented
@sada
情報ありがとう!
ちょっと今は手が付けられなくて...もしよかったらPRを送ってくださいませ 😄
あと、gistのサンプルをsmalruby本体のサンプルとして同梱したいです。
もしよければ、サンプルの上部に著作権やライセンス文を書いたものをPRしてくれたら、幸いです 👍
sada commented
@takaokouji
dxruby_sdlの0.0.6とsmalrubyの0.0.13の組み合わせでは、不具合を再現できませんでした。
最新版では直っているみたいなので、上記の修正はpushしないで様子を見ることにします。
takaokouji commented
@sada
連絡ありがとう!
それではいったんクローズします。