イラストレーターで座標に変な小数点が入ったときに消す方法
もきち
2020.04.15
どうも、のえるです。
最近暑くなりましたね。
事務所では裸足でお仕事してますが、それでも暑いです。
プールで仕事したいくらいです。
さて、今回は弊社アプリの鏡アプリを作成している際に、
UIColorからNSUIntegerに変換したいという内容がありましたので、
その方法をご紹介します。
実はNSUIntegerからUIColorへの変換は、調べれば結構出てくるんですが、
その逆が全然出てこないので考えてみました。
1 2 3 4 5 6 7 8 9 10 11 12 |
+(NSUInteger)hexFromColor:(UIColor *)color { const size_t totalComponents = CGColorGetNumberOfComponents(color.CGColor); const CGFloat * components = CGColorGetComponents(color.CGColor); unsigned int r = (unsigned int)(255 * components[MIN(0, totalComponents-2)]); unsigned int g = (unsigned int)(255 * components[MIN(1, totalComponents-2)]); unsigned int b = (unsigned int)(255 * components[MIN(2, totalComponents-2)]); NSUInteger number = ((r & 0xFFFFFF) << 16) | ((g & 0xFFFFFF) << 8) | ((b & 0xFFFFFF) << 0); return number; } |
こんな感じでどうでしょう?
やってることは非常に単純、UIColor.CGColorからカラーデータを抽出して、演算しているだけです。
プログラムでの色操作は結構あるので、コレで少しでも楽になると良いのですが・・・。
次も何かプログラム的なものを書いてみようかと思ってます。
ではでは?♪
POPULAR
のえる
Full-stack Developer
人気記事