使用CIFilter调整图像大小?

时间:2012-08-13 10:23:25

标签: objective-c macos core-image

是否可以使用CIFilter调整图像大小?我知道CILanczosScaleTransform,但它调整了图像维持比例的大小。我需要在不保持比例的情况下调整图像大小。怎么做?

3 个答案:

答案 0 :(得分:4)

为什么你认为CILanczosScaleTransform保持比例?  CILanczosScaleTransform有一个参数@“inputAspectRatio”或kCIInputAspectRatioKey,允许您缩放来更改比例。你可以用

来做
[filter setValue:[NSNumber numberWithFloat:0.7] forKey:@"inputAspectRatio"];

我是从文件中拿出来的,并没有亲自尝试,但我确信(由于我使用CIFilter进行实验)它可以正常工作。

答案 1 :(得分:2)

使用CIAffineTransform而不是CILanczosScaleTransform。将a和d设置为所需的比例值。这会将您的图像缩小或拉伸到任何命题。

答案 2 :(得分:0)

所有CIFilter都在下面。我想没有用于调整图像大小的过滤器。

  • CIAdditionCompositing
  • CIAffineTransform
  • CICheckerboardGenerator
  • CIColorBlendMode
  • CIColorBurnBlendMode
  • CIColorControls
  • CIColorCube
  • CIColorDodgeBlendMode
  • CIColorInvert
  • CIColorMatrix
  • CIColorMonochrome
  • CIConstantColorGenerator
  • CICrop
  • CIDarkenBlendMode
  • CIDifferenceBlendMode
  • CIExclusionBlendMode
  • CIExposureAdjust
  • CIFalseColor
  • CIGammaAdjust
  • CIGaussianGradient
  • CIHardLightBlendMode
  • CIHighlightShadowAdjust
  • CIHueAdjust
  • CIHueBlendMode
  • CILightenBlendMode
  • CILinearGradient
  • CILuminosityBlendMode
  • CIMaximumCompositing
  • CIMinimumCompositing
  • CIMultiplyBlendMode
  • CIMultiplyCompositing
  • CIOverlayBlendMode
  • CIRadialGradient
  • CISaturationBlendMode
  • CIScreenBlendMode
  • CISepiaTone
  • CISoftLightBlendMode
  • CISourceAtopCompositing
  • CISourceInCompositing
  • CISourceOutCompositing
  • CISourceOverCompositing
  • CIStraightenFilter
  • CIStripesGenerator
  • CITemperatureAndTint
  • CIToneCurve
  • CIVibrance
  • CIVignette
  • CIWhitePointAdjust