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を送ったのですが、マージしてもらえるでしょうかね?