HOME > モザイク描画
UIPixellateでモザイク描画
先日の描画(四角、丸、三角、線)の記事で最後の目の箇所をモザイクにしたかったのですが、できなかったのでこちらで検証します。
ー>
参考:005 画像のモザイク処理
※上記サイトですが、とても丁寧にシンプルに記載されているのでオススメです!
まずはローカルの上記顔画像全体画像にモザイクをかけてみます
//CIImageと表示用のImageView作成
let myCIImage = CIImage(image: UIImage(named: "swift-salaryman-face.png"))
var myImageView: UIImageView!
//表示準備
let myUIImage: UIImage = UIImage(CIImage: myCIImage);
myImageView = UIImageView(frame: CGRectMake(0, 0, myUIImage.size.width, myUIImage.size.height));
myImageView.image = myUIImage;
self.view.backgroundColor = UIColor.blackColor();
self.view.addSubview(myImageView);
//この状態だと普通の画像
//以下を追加するとモザイク処理
var myPixellateFilter = CIFilter(name: "CIPixellate");
myPixellateFilter.setValue(myCIImage, forKey: kCIInputImageKey);//対象のCIImageを指定
let myCIImage2 : CIImage = myPixellateFilter.outputImage;
let myUIImage2: UIImage = UIImage(CIImage: myCIImage2);
myImageView.image = myUIImage2;
myImageView.setNeedsDisplay();
画像全体のモザイク化には成功しましたが、本来は目の部分だけをモザイクをかけたいので調査を続けます。
結果
またもや、、、時間がなくなってしまいました。。。。どうやらUIBeizerpathで描画したUIViewをUIImageに変換、そこからCIImageに変換してモザイクをかけるようです。
このあたりも簡単にモザイクかけられるUtilでも作ってみようと思います。
改めて時間をもうけて別記事にて追加してみますorz
作成しました。(2014/11/19) 参考:UIViewからUIImageを作成
↓こんな記事もありますよ!
![]() | ArraySwiftではArrayとNSArray両方利用することができます。記事を統合しました。 |
![]() | Pre特殊文字難民記事を書いている時によくつまずくことがあります。preでコードを表示する際に、 カッコを使うと文章が消えてしまったり、ドルマークの変数が表示できなかったり。その度に検索して探しているのでサイトの中に入れてしまいます。 以前のバックスラッシュもそうですが、こういった特殊文字難民対策のページにしておきます。 |
![]() | メモリの動きとポインタSwiftとポインターはあまり縁がないのかなと思っていたのですが、開発を進めていると 時々このUnsafePointerの名前を見ることがあります。本日はこのPointerが何を表しているかを調査してみます。 |
Tweet
![]() |
|||
|