【问题标题】:I am using CIFilter to get a blur image,but why is the output image always larger than input image?我正在使用 CIFilter 获得模糊图像,但为什么输出图像总是大于输入图像?
【发布时间】:2013-09-17 17:23:08
【问题描述】:

代码如下:

CIImage *imageToBlur = [CIImage imageWithCGImage: self.pBackgroundImageView.image.CGImage];
CIFilter *blurFilter = [CIFilter filterWithName: @"CIGaussianBlur" keysAndValues: kCIInputImageKey, imageToBlur, @"inputRadius", [NSNumber numberWithFloat: 10.0], nil];
CIImage *outputImage = [blurFilter outputImage];
UIImage *resultImage = [UIImage imageWithCIImage: outputImage];

例如,输入图像的大小为(640.000000,1136.000000),而输出图像的大小为(700.000000,1196.000000)

感谢任何建议。

【问题讨论】:

    标签: ios image filter blur cifilter


    【解决方案1】:

    这是对您问题的超迟回答,但主要问题是您将 CIImage 视为图像。它不是,它是图像的“配方”。因此,当您对其应用模糊滤镜时,Core Image 会计算出要显示模糊的每个最后一个像素,您将需要更大的画布。绘制整个图像的估计大小称为“范围”。本质上,每个像素都在“变胖”,这意味着最终的范围会比原来的画布更大。由您决定范围的哪一部分对您的绘图程序有用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-04-07
      • 2016-12-31
      • 2018-02-24
      • 2018-12-15
      • 1970-01-01
      • 1970-01-01
      • 2022-12-17
      • 1970-01-01
      相关资源
      最近更新 更多