2010-11-18 2 views
2

아래 코드를 사용하여 UIView에서 UIImage* image을 그리면 이미지가 가로로 미러링됩니다. 그것은 같다 I 4 그리면, 그 ..이 alt text 같은 드로잉된다는 문제 CGContext를 사용할 때의 이미지 그리기 문제. 이미지가 가로로 반영됩니다.

CGRect rect = CGRectMake(x, y, imageWidth, imageHeight); 
CGContextDrawImage((CGContextRef) g, rect, ((UIImage*)image).CGImage); 

??? 나는 잘못하고있다 ??? 또는 누군가가 그것을 고치는 법을 안다면, 나 또한 알려주십시오. 나는 그것을 매우 감사드립니다.

감사합니다. loooooooooot.

+0

가로가 아니라 세로로 미러 됨 –

답변

5

참조 : CGContextDrawImage draws image upside down when passed UIImage.CGImage

대신 사용 CGContextDrawImage[image drawInRect:rect].

+0

'[image drawInRect : rect]'는 컨텍스트가 현재 그래픽 컨텍스트 인 경우에만 작동합니다. 그렇지 않으면 사용해야합니다. 결국 코어 그래픽 메소드. –

+0

사실, 충분하지만 UIViews에 대한 작업을 수행 할 때, 이것은 거의 필요한 것입니다. 물론 UIImageViews를 사용하는 것을 선호합니다. –

+0

그 질문에서 후자의 대답에 설명 된대로 변환을 사용하는 것이 좋습니다. – tia

2

당신이 사진을 주위에 사용

CGAffineTransform transform =CGAffineTransformMakeTranslation(0.0, height); 
transform = CGAffineTransformScale(transform, 1.0, -1.0); 
CGContextConcatCTM(context, transform); 

//draw image in the context 
CGContextDrawImage(context, rect, ((UIImage*)image).CGImage); 

를 사용하여 올바른 방법으로 설정할 수 있습니다 [이미지 drawInRect을 : RECT가] 즉 화면의 기본 컨텍스트를 사용하여, 당신은 그것을 예를 들어, 현재의 상황을 줄 수 없다 버튼의 ima의 일부로 넣으려는 경우