2012-01-07 20 views
0

私はカメラから画像を取り込み、画面上のある場所に移動/回転/拡大されたUIButtonから画像をオーバーレイしようとしています。イメージをUIButtonからイメージに正しく配置するにはどうすればいいですか?

以下のコードは画像を適切に回転させますが、適切なX、Y座標に配置しません。

- (UIImage*)dumpOverlayViewToImage { 
    CGSize imageSize = self.cameraOverlayView.bounds.size; 
    UIGraphicsBeginImageContext(imageSize); 
    CGContextRef ctx = UIGraphicsGetCurrentContext(); 
    CGContextTranslateCTM(ctx, self.button.frame.origin.x, self.button.frame.origin.y); 
    CGContextConcatCTM(ctx, self.button.transform); 
    [self.button.imageView.image drawAtPoint:CGPointMake(0,0)]; 
    UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext(); 
    UIGraphicsEndImageContext(); 

    return viewImage; 
}  

ヘルプをいただければ幸いです。

+0

ビューの階層はどのように見えますか? self.buttonとself.cameraOverlayViewは同じスーパービューの子ですか?デバッガのコンソールで 'po [(id)UIApp keyWindow] recursiveDescription]'を実行し、出力をあなたの質問に貼り付けてください。 –

答えて

0

網膜ディスプレイを備えたデバイスを使用している場合は、そのことを考慮する必要があります。この場合の最も簡単な方法は、UIGraphicsBeginImageContextの代わりにこれを使用することです。

UIGraphicsBeginImageContextWithOptions(imageSize, NO, 0.0); 
+0

でも同じ結果が得られます。 –

関連する問題