iPhoneアプリで画像をCGContextを使って直接描画するときに、上下反転しないように描画するには?
iPhoneアプリでCGContextを使って画像を直接描画するときに、CGContextDrawImageを使って描画すると、画像の上下が反転して描画されてしまう。
上下反転しないように描画するには、例えばこのようにする。
コメントされている方のメソッドを使えば、ブレンドモードや透明度もコントロールしながら描画できる。
こう見ると、一応drawRect()の中で現在のCGContextRefを取得して描画していたが、この方法で画像を描画するだけならまったく必要なさそうだ。
上下反転しないように描画するには、例えばこのようにする。
//描画の中心点 float cx = self.bounds.size.width/2; float cy = self.bounds.size.height/2; //画像をViewの中心に描画 UIImage *img = [UIImage imageNamed:@"image.png"]; if (img) { CGPoint posImg = CGPointMake(cx - img.size.width/2, cy - img.size.height/2); [img drawAtPoint:posImg]; //[img drawAtPoint:posImg blendMode:kCGBlendModeNormal alpha:1.0]; }
コメントされている方のメソッドを使えば、ブレンドモードや透明度もコントロールしながら描画できる。
こう見ると、一応drawRect()の中で現在のCGContextRefを取得して描画していたが、この方法で画像を描画するだけならまったく必要なさそうだ。
コメント
コメントを投稿