1
我有以下MonoTouch
代码,它可以改变Saturation
,但我也想改变Hue
。Monotouch:改变图像的色调,而不仅仅是饱和度
float hue = 0;
float saturation = 1;
if (colorCtrls == null)
colorCtrls = new CIColorControls() {
Image = CIImage.FromCGImage (originalImage.CGImage) };
else
colorCtrls.Image = CIImage.FromCGImage(originalImage.CGImage);
colorCtrls.Saturation = saturation;
var output = colorCtrls.OutputImage;
var context = CIContext.FromOptions(null);
var result = context.CreateCGImage(output, output.Extent);
return UIImage.FromImage(result);
Miguel在MonoTouch(包括链接过滤器)上使用CoreImage制作了一个很好的视频(在YouTube上)。 http://www.youtube.com/watch?v=Yb2pi3tDb3c – poupou 2012-08-01 17:50:02
该示例在Retina设备上不起作用,返回的图像尺寸不正确。 – 2012-08-05 17:49:39
请澄清:当你说“不适用于Retina设备”时,你是不是指“使用UINavigationController.Appearance.SetBackgroundImage时”(按照SO#11805628)?通常我相信这段代码在将UIImage分配给正确设置了边界的UIImageView时确实有效。 – Conceptdev 2012-08-12 10:48:44