gpt4 book ai didi

iphone - Core Image : after using CICrop, 应用合成滤镜不对齐

转载 作者:可可西里 更新时间:2023-11-01 04:23:00 25 4
gpt4 key购买 nike

我正在使用 CICrop 通过切断图像的顶部和底部来将图像裁剪到特定大小。

然后,我应用类似 CIMultiplyCompositing 过滤器的东西,将裁剪后的图像与另一幅图像组合。

两张图片大小相同,但是结果显示两张图片没有对齐……一张偏移了。

所以,我检查了以下内容:

NSLog(@"image after crop: %g, %g, %g, %g", imageToFilter.extent.origin.x,
imageToFilter.extent.origin.y,
imageToFilter.extent.size.width,
imageToFilter.extent.size.height);

NSLog(@"second image: %g, %g, %g, %g", secondImage.extent.origin.x,
secondImage.extent.origin.y,
secondImage.extent.size.width,
secondImage.extent.size.height);

这表明裁剪图像的 origin.y 具有我看到的偏移量(使用 CICrop 的结果):

image after crop: 0, 136, 3264, 2176
second image: 0, 0, 3264, 2176

那么,我有什么办法可以重置裁剪后的图像“范围”矩形,以便 origin.y 为零?检查 CIImage 的文档,“extent”是一个只读属性。

或者我是否必须做一些非常低效的转换到另一种图像类型/原始数据,然后再转换回 CIImage?

感谢您的任何建议。

最佳答案

我找到了这个问题的答案……而且很简单。我只需要在裁剪后对 CIImage 应用“翻译”转换,如下所示:

imageToFilter = [imageToFilter imageByApplyingTransform:CGAffineTransformMakeTranslation(0, -imageToFilter.extent.origin.y)];

这有效地将其 y 原点移回 0。

关于iphone - Core Image : after using CICrop, 应用合成滤镜不对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8170336/

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