2013-05-10 62 views
0

在我工作的應用程序中,可以用iPad相機拍照。之後使用CoreGraphics,你可以在該圖像上繪製形狀。
起初圖像是顛倒和鏡像。我決定與此:用iPad拍照時左轉圖像

CGContextTranslateCTM(myContext, 0, backgroundImage.size.height); 
CGContextScaleCTM(myContext, 1.0, -1.0); 

但是現在,當你把圖像中的肖像模式,導入的圖像旋轉到左邊(所以它的水平呈現)。我旋轉的圖像回來驗證碼:

UIImage *tempImage = [[UIImage alloc] initWithCGImage:imagetest.CGImage]; 

CGAffineTransform transform = CGAffineTransformIdentity; 
transform = CGAffineTransformTranslate(transform, 0, tempImage.size.height); 
transform = CGAffineTransformRotate(transform, -M_PI_2); 
CGContextRef ctx = CGBitmapContextCreate(NULL, tempImage.size.width, tempImage.size.height, 
             CGImageGetBitsPerComponent(tempImage.CGImage), 0, 
             CGImageGetColorSpace(tempImage.CGImage), 
             CGImageGetBitmapInfo(tempImage.CGImage)); 
CGContextConcatCTM(ctx, transform); 
CGContextDrawImage(ctx, CGRectMake(0,0,tempImage.size.height,tempImage.size.width), tempImage.CGImage); 
CGImageRef cgimg = CGBitmapContextCreateImage(ctx); 
UIImage *img = [UIImage imageWithCGImage:cgimg]; 
CGContextRelease(ctx); 
CGImageRelease(cgimg); 

圖像現在以正確的方式(縱向)顯示,但我不能得當畫,也許是因爲寬度和高度顛倒。

從我讀到的是一個帶有CoreGraphics無法讀取的圖像方向的元標記。

你知道更好的旋轉圖像的方法嗎?或者在縱向模式下拍攝照片時會使圖像旋轉的解決方案?

回答

0

是的,這是一個問題,因爲設備相機的默認方向是橫向,如果您在縱向模式下拍照並在Photo Gallery中看到預覽,那麼將會很好,但是當您在應用中使用它時,它會旋轉90度,以解決我在Recent Post Here

+0

「**當以縱向模式拍攝圖像時**,導入的圖像向左旋轉」 - 問題 – 2013-05-10 21:34:02

0

中寫到的問題如果您tell the image to draw itself,它將尊重它自己的方向。不需要翻轉它(它本身就是這樣)並且不需要旋轉它。