ColorButton
ColorButtonはOS標準のカラーピッカーを開き、RGBA色を保持します。
実行例
require "uing/crimage"
UIng.init
window = UIng::Window.new("ColorButton Example", 300, 100, margined: true)
window.on_closing do
UIng.quit
true
end
color_button = UIng::ColorButton.new do |button|
button.color = CrImage::Color::NRGBA.new(255, 0, 0, 255)
on_changed do |red, green, blue, alpha|
window.msg_box("Color Changed", "R=#{red}, G=#{green}, B=#{blue}, A=#{alpha}")
end
end
window.child = color_button
window.show
UIng.main
UIng.uninit
使い方
- RGBA成分は
0.0から1.0までの浮動小数点数です。 on_changedには赤・緑・青・アルファ値が渡されます。- アプリ側にCrImageを追加して
require "uing/crimage"すると、color =とset_colorへCrImage::Color::Colorを渡せます。colorの読み取りは引き続き数値RGBAのタプルを返し、color_crimageはCrImage::Color::NRGBAを返します。半透明色にはNRGBAを使ってください。現在のColor.parseは半透明RGBAの色成分をpremultiplyしません。
button.color = CrImage::Color::NRGBA.new(255, 0, 0, 128)
selected = button.color_crimage