今回は画像を小さいくしていきます。
下のメソッドは、引数にUImageとサイズをぶっこんでいって
小さく なったUIImageを返すというものです。
こりゃ解説するまでもないね。
コンテキスト作って、そこに描画して、それをgetなんちゃらしてUIImageにする。
でもあえて書くとすると、
なぜ [image drawInRect:rect]; なんだ?ってことかな。
もちろん
CGContextD rawImage(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;
}
下のメソッドは、引数にUImageとサイズをぶっこんでいって
小さく なったUIImageを返すというものです。
こりゃ解説するまでもないね。
コンテキスト作って、そこに描画して、それをgetなんちゃらしてUIImageにする。
でもあえて書くとすると、
なぜ [image drawInRect:rect]; なんだ?ってことかな。
もちろん
CGContextD
でもこれだと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 件のコメント:
コメントを投稿