RGBとアルファでNSColorを作って返します
Swift
(CGFloat)blue+ (NSColor *)colorWithCalibratedRed:(CGFloat)red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alphaSwift
init(calibratedRed red: CGFloat, green green: CGFloat, blue blue: CGFloat, alpha alpha: CGFloat) -> NSColor
解説
RGBとアルファでNSColorを作って返します。
0.0以下の値は0.0、1.0より上の値は1.0になります。
返り値
カラーオブジェクト
Objective-C( NSColor * )Swift
NSColor
引数
レッド値0.0-1.0
Objective-C(CGFloat)red
Swift
red: CGFloat
グリーン値0.0-1.0
Objective-Cgreen: CGFloat
Swift
(CGFloat)green
ブルー値0.0-1.0
Objective-Cblue: CGFloat
アルファ値0.0-1.0
Objective-Calpha: CGFloat
Swift
(CGFloat)alphaフレームワーク
ApplicationKit
クラス
NSColor
使用可能
10.0
参照
colorWithCalibratedHue:saturation:brightness:alpha
colorWithDeviceRed:green:blue:alpha
- getRed:green:blue:alpha:更新時のバージョン
OS X 10.14.5
Swift4.2例文
#import "Controller.h" @implementation Controller - (IBAction)myAction:(id)sender { NSColor *theColor = [NSColor colorWithCalibratedHue:1 saturation:0.3 brightness:0.8 alpha:1];//カラー作成 [name setStringValue:@"HueColor"];//outlet nameに文字をセット [name setTextColor:theColor];//outlet name(text field)の文字色をtheColorにする [h setFloatValue:[theColor hueComponent]];// [s setFloatValue:[theColor saturationComponent]];// [b setFloatValue:[theColor brightnessComponent]];// [alpha setFloatValue:[theColor alphaComponent]];// } @end
Swiftclass MyView002: NSView { override func draw(_ rect: CGRect) { let rectColor = NSColor(calibratedRed: 0.5, green: 0.9, blue: 0.9, alpha:1.0) let path = NSBezierPath() path.move(to: CGPoint(x: 100, y: 100)) path.appendRect(NSMakeRect(0.0, 0.0, 1500.0, 900.0)) path.lineWidth = 5.0 // 線の太さ rectColor.setFill() // 色をセット path.fill() } }Swift
//NSColor colorWithCalibratedRed:green:blue:alpha: var aButton003 : NSButton? var aView003 : NSView? //実験用ビューのボタンを押した時に実行されるところ func viewAction003(sender : AnyObject?){ //準備 let aButton = aButton003 let aView = aView003 var theWindow : NSWindow = aButton!.window! //準備ここまで aView?.lockFocus() let backgroundColor = NSColor(calibratedRed: 0.9, green: 0.2, blue: 0.5, alpha: 1.0) backgroundColor.setFill() NSRectFill(NSMakeRect(0, 20, 300.0, 178.0)) aView?.unlockFocus() } @IBAction func function003(sender: AnyObject) { var aWindow : NSWindow = NSWindow(contentRect: NSMakeRect(0.0, 0.0, 300.0, 200.0), styleMask: NSTitledWindowMask | NSClosableWindowMask | NSMiniaturizableWindowMask | NSResizableWindowMask, backing: .Buffered, defer: false, screen: NSScreen.mainScreen()) windowArray.addObject(aWindow) //ウインドウを保持するための配列に追加。アプリ終了時に配列は破棄 aWindow.center()//ウインドウをスクリーンの中心に aWindow.title = "View アクション"//タイトル設定 //ボタン var theButton : NSButton = NSButton(frame: NSMakeRect(100.0, 10.0, 100.0, 30.0)) theButton.title = "Color!" theButton.bezelStyle = NSBezelStyle.RoundedBezelStyle theButton.action = Selector("viewAction003:") theButton.target = self aWindow.contentView.addSubview(theButton) //ビュー var theView : NSView = NSView(frame: NSMakeRect(0.0, 30.0, 300.0, 180.0)) theView.wantsLayer = true aWindow.contentView.addSubview(theView) //実験ウインドウにUIパーツを渡す self.aButton003 = theButton //ボタン self.aView003 = theView //テストビュー aWindow.orderFront(self)//前面に aWindow.makeKeyAndOrderFront(self)//表示 }