我正在从相机中拍摄图像,并将其旋转到新方向,然后将其粘贴到普通粘贴板上。但是,无论我将什么传递给方向,最终通过粘贴板粘贴命令粘贴的内容都会像 UIImageOrientationUp 一样被定向。
CGImageRef croppedImageRef = CGImageCreateWithImageInRect([self CGImage], CGRectMake(rect.origin.y, [self size].width - rect.origin.x - rect.size.width, rect.size.height, rect.size.width));
UIImage *croppedImage = [UIImage imageWithCGImage:croppedImageRef scale:self.scale orientation:orientation];
CGImageRelease(croppedImageRef);
[[UIPasteboard generalPasteboard] setImage:croppedImage];
我使用类似的代码成功地从相机旋转图像并将它们插入到相册中:
CGImageRef croppedImageRef = CGImageCreateWithImageInRect([self CGImage], CGRectMake(rect.origin.y, [self size].width - rect.origin.x - rect.size.width, rect.size.height, rect.size.width));
UIImage *croppedImage = [UIImage imageWithCGImage:croppedImageRef scale:self.scale orientation:orientation];
CGImageRelease(croppedImageRef);
[self writeUIImageToCameraRoll:croppedImage withOrientation:orientation];
为什么我不能像我希望的粘贴板那样旋转图像?粘贴操作是否使用 EXIF 方向?如果是这样,imageWithCGImage 是否将原始 EXIF 复制到新图像?