↑クリックして拡大
↑クリックして拡大
↑クリックして拡大
↑クリックして拡大

頭痛が減ったので共有です!

rebuild.fmを応援しています!

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を作成

↓こんな記事もありますよ!


2021-05-14 14:21:41

WatchOSのwatchconnectivityのFiletransferの落とし穴。と、避け方。

AppleWatch 実機だと成功するんだけど、シュミレーターだと失敗するという、、、 昔作成してた時は成功してたのになーと思って調べると、どうやら昔は成功してたみたい。watchOS6以降は...

2021-05-06 14:04:37

LINEのアニメーションスタンプ制作の落とし穴、、、失敗談

ゴールデンウィークにLINEスタンプを作成してみました。 作り切って申請も通したんですが、意図したアニメーションと違う、、、、 LINEクリエーターの画面だと、アニメーションのプレビュー...

2021-05-01 18:05:35

久しぶりのAdmobをobjective-cに実装。コンパイルエラーだらけ。バーミッション不具合でエミュレータにインスコできない。

忘れないようにメモ エミュレータにアプリをインストールする際にパーミッション系のエラーがでた時、また、iphone実機にインストールする際にも権限系のエラーが出る場合。 ターゲット→ex...
このエントリーをはてなブックマークに追加
右側のFacebookのLikeをクリック頂けると記事更新の際に通知されますので宜しければご利用下さい!