2010-11-18 9 views
2

Wenn ich UIImage* image auf UIView mit dem folgenden Code zeichne, wird das Bild horizontal gespiegelt. Es ist wie, wenn ich 4 ziehen, es so zieht alt text ..Bildzeichnungsproblem bei der Verwendung von CGContext. Bild wird horizontal gespiegelt

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

, dass das Problem ??? Ich mache falsch ??? oder wenn jemand weiß, wie man es repariert, lass es mich auch wissen. Ich schätze das sehr im Voraus.

Danke ein looooooooot.

+0

Es ist vertikal, nicht horizontal spiegeln –

Antwort

5

See: CGContextDrawImage draws image upside down when passed UIImage.CGImage

Verwenden [image drawInRect:rect] statt CGContextDrawImage.

+0

'[Bild DrawInRect: Rect]' funktioniert nur, wenn der Kontext der aktuelle Grafik Kontext ist - wenn es nicht ist, müssen Sie verwenden die Core Graphics Methoden überhaupt. –

+0

Das ist wahr, aber für UIViews ist das alles, was Sie brauchen. Natürlich bevorzuge ich nur UIImageViews. –

+0

Ich schlage vor, die Transformation wie in der letzten Antwort in dieser Frage beschrieben zu verwenden. – tia

2

Sie können das Bild die richtige Art und Weise drehen sich um

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); 

using [Bild drawInRect: rect] verwendet den Standardkontext das heißt dem Bildschirm, können Sie es nicht geben Sie Ihrem aktuellen Kontext, zum Beispiel Wenn Sie es als Teil eines Buttons ima setzen möchten

Verwandte Themen