UIImage の非透明部分だけを切り出す方法

このエントリーをはてなブックマークに追加
はてなブックマーク - UIImage の非透明部分だけを切り出す方法

Photoshopだと、非透明部分だけをトリムして切り取るのは簡単に出来ますが、UIImageに対しては、ちょっと面倒だったので備忘のために書いときます。

UIImage の切り取り自体は結構簡単なのですが、透明部分の判定が以外と面倒です。検索すると、wrep/UIImage-Trim ちょうど対応したUIImageカテゴリを発見。使ってみたのですが、どうもUIImageのScaleが2以上のときにうまく動いていないので対応。
tomohisa/UIImage-Trim
こちらにプロジェクトをforkして、scaleを考慮するように変更しました。

それに加えて、切り取る際にマージンを付ける機能も欲しかったので、


- (UIImage *) imageByTrimmingTransparentPixelsWithMargin:(UIEdgeInsets)insets;

このようなものも追加
それで、


UIImage * imageTrimmed = [image imageByTrimmingTransparentPixelsWithMargin:UIEdgeInsetsMake(10, 10, 10, 10)];

こんな感じでトリム出来るようになりました。本家のgithubにもpull requestを送ったのですが、マージしてもらえるでしょうかね?

Comments

comments

Powered by Facebook Comments

Post a comment

You may use the following HTML:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">