gpt4 book ai didi

objective-c - 使用 CoreImage 过滤图像会导致图像旋转

转载 作者:太空狗 更新时间:2023-10-30 03:29:56 26 4
gpt4 key购买 nike

感谢阅读。

我正在尝试使用 iOS 5 中的 CoreImage 来改变图像的外观。问题在于,现有图像似乎在此过程中丢失了方向信息,最终旋转了 90 度。

代码如下:

CIContext *context = [CIContext contextWithOptions:nil];
CIImage *img = [CIImage imageWithCGImage:imageView.image.CGImage];
CIFilter *adjustFilter = [CIFilter filterWithName:@"CIHighlightShadowAdjust"];

[adjustFilter setDefaults];
[adjustFilter setValue:img forKey:kCIInputImageKey];
[adjustFilter setValue:[NSNumber numberWithFloat:0.3] forKey:@"inputShadowAmount"];
CIImage *adjustedImage = [adjustFilter valueForKey:kCIOutputImageKey];
UIImage *newPtImage = [UIImage imageWithCGImage:[context adjustedImage fromRect:adjustedImage.extent]];

imageView.image = newPtImage;

原始图像通常来自相机拍摄的图像,但并非总是如此。

希望有人能帮忙。

罗布。

最佳答案

实际上,我的问题的解决方案非常简单。由于 CGImage 失去了它的方向和比例因子,我只需要添加

UIImageOrientation originalOrientation = imageView.image.imageOrientation;
CGFloat originalScale = imageView.image.scale;

在代码的早期,然后使用它代替 [UIImage imageWithCGImage:]

    UIImage *newPtImage = [UIImage imageWithCGImage:img2 scale:originalScale orientation:originalOrientation];

也感谢您的建议。

关于objective-c - 使用 CoreImage 过滤图像会导致图像旋转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8075595/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com