ColorButton

English

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

APIリファレンス · Galleryソース