2011年12月6日火曜日

画像を縮めますかね? え? いいって? まあ、そんなこと言わないでw

今回は画像を小さいくしていきます。
下のメソッドは、引数にUImageとサイズをぶっこんでいって 
小さく なったUIImageを返すというものです。

こりゃ解説するまでもないね。
コンテキスト作って、そこに描画して、それをgetなんちゃらしてUIImageにする。

でもあえて書くとすると、
なぜ  [image drawInRect:rect]; なんだ?ってことかな。 

もちろん
CGContextDrawImage(context, rect, image.CGImage);という書き方もあります。
でもこれだとY軸が反転しちゃうんだな。



-(UIImage*)shrinkImage:(UIImage*)image size:(CGSize)size{
   
    // 計算した描画領域を指定して描画準備。
    CGRect rect = CGRectMake(0, 0, (int)size.width, (int)size.height);
    UIGraphicsBeginImageContext(rect.size);
   
    // 描画はすべて新しい描画領域が対象となる。
    [image drawInRect:rect]; // イメージ描画。
    // 新しい描画領域からUIImageを作成。
    image = UIGraphicsGetImageFromCurrentImageContext();// スケーリングされたUIImageを設定。
    UIGraphicsEndImageContext(); // 解除。
   
    return  image;
}

0 件のコメント:

コメントを投稿