2017年5月18日木曜日

画像サイズ変更

画像サイズを縮小したり拡大したりする方法。とりあえず縮小で説明。

要は、UIGraphicsImageContext(オフスクリーンバッファだな)を縮小(拡大)したサイズで作り、そこに元の画像をdrawすればいい。

以下でimageには512*512の画像が入っているとする。それを256*256のContextにdrawすると、Contextの縦横に合わせて画像が縮小されるわけですな。


        //オフスクリーンのコンテキスト作成
        UIGraphicsBeginImageContextWithOptions(CGSize(width: 256, height: 256), false, 0.0) 
        //コンテキストに画像を描画
        image.draw(in: CGRect(x: 0, y: 0, width: 256, height: 256))
        //コンテキストから画像を得る
        myImageView.image = UIGraphicsGetImageFromCurrentImageContext()

        UIGraphicsEndImageContext()


drawする際にCGRectの各値を変更すれば、描画位置を変えたり、縦横を縮小(拡大)して描画することができる。

単純な拡大も、例えば100*100の画像を256*256のコンテキストに描画すれば拡大されるっちゅうわけ。

0 件のコメント:

コメントを投稿