HOME > UIColorを16進から取得
UIColorを16進から取得
UIColorを標準の方法で作成するとRGBを1.0 = 255として計算する必要がありますので面倒くさいです。 使わなかったらこんな感じ。
swift-salaryman.head.backgroundColor = UIColor(red: 0.5, green: 128/255.0, blue: 0.5, alpha: 1.0);
これだとPhotoshop等で「#34fg45」なんてカラーコードを利用しようと計算する必要がでてしまい面倒くさいです。
ということでカラーコードをそのまま16進数で利用できる方法を調べてみました。
参考:Color Codes(色をRGBの%でリストしているサイトです)
UIColorFromRGB
こちらにドンピシャな関数がありました。
参考:How to use UIColorFromRGB value in Swift
//UIntに16進で数値をいれるとUIColorが戻る関数
func UIColorFromRGB(rgbValue: UInt) -> UIColor {
return UIColor(
red: CGFloat((rgbValue & 0xFF0000) >> 16) / 255.0,
green: CGFloat((rgbValue & 0x00FF00) >> 8) / 255.0,
blue: CGFloat(rgbValue & 0x0000FF) / 255.0,
alpha: CGFloat(1.0)
)
}
//こんな感じで利用します。
view.backgroundColor = UIColorFromRGB(0x123456)
UIColorUtil.swift例文
UIColorUtil.swiftをダウンロードする。(ご自由にご利用ください)上記を参考にしてswiftのユーティリティを作成しました。
import UIKit
struct UIColorUtil {
static func rgb(rgbValue: UInt) -> UIColor {
return UIColor(
red: CGFloat((rgbValue & 0xFF0000) >> 16) / 255.0,
green: CGFloat((rgbValue & 0x00FF00) >> 8) / 255.0,
blue: CGFloat(rgbValue & 0x0000FF) / 255.0,
alpha: CGFloat(1.0)
)
}
}
//利用方法
let mycolor = UIColorUtil.rgb(0x123456);
Extentionにしていつでも利用できるようにする(追記:20141208)
上記はUtilityにして利用している状態ですが、これをUIColorのextensionとして事前にセットしておけば、いつでも今後利用できるようにもなります。
参考:How to use UIColorFromRGB value in Swift
参考:SwiftでHexColor(#34495eみたいなやつ)
//UIColorのextensionとして登録しておく
extension UIColor {
class func hex (var hexStr : NSString, var alpha : CGFloat) -> UIColor {
hexStr = hexStr.stringByReplacingOccurrencesOfString("#", withString: "")
let scanner = NSScanner(string: hexStr)
var color: UInt32 = 0
if scanner.scanHexInt(&color) {
let r = CGFloat((color & 0xFF0000) >> 16) / 255.0
let g = CGFloat((color & 0x00FF00) >> 8) / 255.0
let b = CGFloat(color & 0x0000FF) / 255.0
return UIColor(red:r,green:g,blue:b,alpha:alpha)
} else {
print("invalid hex string")
return UIColor.whiteColor();
}
}
}
//以下のような形で実行します。
UIColor.hex("45fb4b", alpha: 0.8)
extensionの登録方法は簡単で、swiftのファイルの中に上記のようなコードを貼り付けてプロジェクトに入れておくだけです。例えば、extentions.swiftというファイルを作成して それをプロジェクトの中に含めておくだけでUIColorに対して登録されたことになります。
画像からUIColorを取り出す (追記:2015/1/15)
画像からピクセルの色情報取得 - ピクセルから色をゲット方法はこちらから!
↓こんな記事もありますよ!
![]() | Pre特殊文字難民記事を書いている時によくつまずくことがあります。preでコードを表示する際に、 カッコを使うと文章が消えてしまったり、ドルマークの変数が表示できなかったり。その度に検索して探しているのでサイトの中に入れてしまいます。 以前のバックスラッシュもそうですが、こういった特殊文字難民対策のページにしておきます。 |
![]() | メモリの動きとポインタSwiftとポインターはあまり縁がないのかなと思っていたのですが、開発を進めていると 時々このUnsafePointerの名前を見ることがあります。本日はこのPointerが何を表しているかを調査してみます。 |
![]() | WatchKitでタイマーアプリを作成する。簡単なアプリを作成しながらAppleWatchを学んでいきます。前回の記事で大まかな動きは理解できましたので、 つぎはAppleWatchとアプリとの連携をタイマー機能を利用して検証していきます |
Tweet
![]() |
|||
|