Ich stehe vor einem Bildausrichtungsproblem, wenn ein quadratischer Teil eines Bildes aus einem rechteckigen Originalbild ausgeschnitten wird. Wenn das Bild in der Landschaft ist, ist es in Ordnung. Aber wenn es im Portrait ist, so scheint es, dass die Bildausrichtung nicht erhalten wird, die mit falscher Orientierung in einem Bild führen und schlechter Ernte:Verlieren der Bildausrichtung beim Konvertieren eines Bildes in CGImage
func cropImage(cropRectangleCoordinates: CGRect) {
let croppedImage = originalImage
let finalCroppedImage : CGImageRef = CGImageCreateWithImageInRect(croppedImage.CGImage, cropRectangleCoordinates)
finalImage = UIImage(CGImage: finalCroppedImage)!
}
Ich denke, das Problem mit croppedImage.CGImage
ist. Hier wird das Bild in CGImage
konvertiert, aber es scheint nicht die Orientierung zu bewahren. Es ist einfach, die Orientierung zu erhalten, indem Sie nur UIImage
verwenden, aber um den Ausschnitt zu machen, muss das Bild vorübergehend CGImage
sein, und das ist das Problem. Selbst wenn ich das Bild bei der Konvertierung zurück in UIImage
neu orientiere, könnte es in der richtigen Ausrichtung sein, aber der Schaden ist bereits beim Beschneiden CGImage
.
Dies ist eine schnelle Frage, also antworten Sie bitte schnell, da die Lösung in Objective-C anders sein kann.
Aber wenn das Bild quadriert wurde, wird das ein großes Problem für deine Lösung sein: [] – Husam
Setze einfach einen Bildpfad wie folgende Ansicht und lade Bild hoch UIImageView * imgViewTemp = [[UIImageView alloc] init]; [imgViewTemp setImage: [UIImake imageWithCGImage: [rep fullScreenImage]]]; UIImage * compressedImage = [mYGlobal funResizing: imgViewTemp.image]; Ich habe das gleiche Problem, aber reparieren wie oben. – chetu