2012-01-07 78 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]'並將輸出粘貼到您的問題中。 – 2012-01-07 23:16:14

回答

0

如果您在使用視網膜顯示器的設備上,您可能需要考慮這一點。在這種情況下,最簡單的方法應該是使用代替的UIGraphicsBeginImageContext這樣的:

UIGraphicsBeginImageContextWithOptions(imageSize, NO, 0.0); 
+0

仍給出了相同的結果。 – 2012-01-07 23:10:18