ちょっと試行錯誤している中で、UIView を UIImage に変換したくなりました。
方法を調べたんで、メモ。
まず QuartzCore.framework を追加して、ヘッダを Import
1 |
#import <QuartzCore/QuartzCore.h> |
そして、
1 2 3 4 5 6 7 8 9 10 11 12 |
// UIView を適当に用意 UIView *sourceView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)]; sourceView.layer.borderWidth = 1.0f; sourceView.layer.borderColor = [UIColor blackColor].CGColor; sourceView.layer.backgroundColor = [UIColor redColor].CGColor; sourceView.layer.cornerRadius = 4.0f; // UIView を変換して UIView(resultImage)を取得 UIGraphicsBeginImageContext(sourceView.frame.size); [sourceView.layer renderInContext:UIGraphicsGetCurrentContext()]; UIImage *resultImage = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); |
なんで、こんな事をしたくなったかというと、、、
アプリで使うパーツをイラストレータなどで作るのも良いのですが、ディスプレイサイズにあわせて似たようなパーツを作るのが面倒で。。。
コードで書ける部分はコードで書くと楽になるかなぁと試行錯誤してます。
で、パーツを作って加工する際に UIView から UIImage を作りたくなった訳ですが、パーツ完成への道のりは遠いっス。
パーツを用意するより面倒だったかも。
[…] ■UIView を UIImage に変換する|hnyssh -ガチ開発の記事や! […]