Win2D
首发于Win2D
第三章(介绍篇) 图像特效Effect

第三章(介绍篇) 图像特效Effect

接口画布图像(ICanvasImage)

ICanvasImage是一种接口,只要实现了它的类型都可以被画布绘画会议(CanvasDrawingSession)的DrawImage方法绘制。

实现了ICanvasImage的类型有:

  • 位图(CanvasBitmap)
  • 画布渲染目标(CanvasRenderTarget)
  • 接口画布特效(ICanvasEffect)

接口画布特效(ICanvasEffect)

作为Win2D的特效库,先看看Microsoft.Graphics.Canvas.Effects 命名空间

Microsoft.Graphics.Canvas.Effects 命名空间 此命名空间提供图像效果, 如模糊和饱和度。
ICanvasEffect是ICanvasImage的一种类型, 所以你可以使用DrawImage (ICanvasImage)CanvasImageBrush来显示它们。Effect的source也属于 ICanvasImage 类型, 它可以连接位图或其他图像。复杂图像处理图可以通过将多个Effect链接在一起来构造。

简而言之,就是一个图像特效(Effect),输入的是ICanvaImage,输出的也是ICanvaImage。

所以你可以把好几个不同的图像特效(Effect)串起来,比如饱和度特效+明度特效来实现更复杂的效果。

ICanvaImage里面包含了很多的图像特效,其中实现了ICanvasEffect的类型有:


BlendEffect:创建组合两个图像的混合效果
BorderEffect:将图像扩展到无限大小, 指定超出其原始范围的区域是否由图像边缘的重复像素填充、从图像的相对边缘包装像素或镜像图像。
BrightnessEffect:改变图像的亮度。
ChromaKeyEffect:用透明替换指定的颜色。
CompositeEffect:组合两个或多个图像
ContrastEffect:增大或减小图像的对比度。
CropEffect:裁剪图像, 只输出指定区域。
CrossFadeEffect:两个图像之间的交叉淡出。
DirectionalBlurEffect:在特定方向模糊图像。此效果使图像看起来像在运动中。
DisplacementMapEffect:通过第二个图像的强度值偏移输入图像的像素。
EdgeDetectionEffect:筛选出图像的内容, 在对比节的边缘保留线条
ExposureEffect:增加或减少图像的曝光。
GaussianBlurEffect:基于高斯函数在整个输入图像上创建模糊效果。
GrayscaleEffect:将图像转换为单色灰度。
HighlightsAndShadowsEffect:调整图像的高亮和阴影。
HueRotationEffect:通过旋转其色相值来改变图像的颜色。
InvertEffect:反转图像的颜色。
LuminanceToAlphaEffect:生成带有 alpha 通道的图像, 设置为源图像的亮度, 颜色通道设置为0。使用它根据源图像的亮度进行半透明叠加。
MorphologyEffect:在图像中稀释或加厚边缘边界。此效果使用的筛选器内核是指定大小的2倍。内核以所计算的像素为中心, 并返回内核中的最大值 (如果展开) 或最小值 (如果被侵蚀)。
OpacityEffect:更改图像的不透明度 (alpha)。
PosterizeEffect:减少图像中颜色的数量。
SaturationEffect:改变图像的饱和度。
ScaleEffect:调整图像的大小。
SepiaEffect:将图像转换为棕褐色色调。
ShadowEffect:从图像的 alpha通道生成阴影。

ShadowEffect

SharpenEffect:锐化图像
TemperatureAndTintEffect:调整图像的温度和/或色调。
TileEffect:重复图像的指定区域
TintEffect:使用指定的颜色值淡色图像。
Transform2DEffect:将2D 仿射变换矩阵应用于图像。
VignetteEffect:淡出图像的边缘。

微软的文档Microsoft.Graphics.Canvas.Effects Namespace

下一篇文章将详细讲解用法

文章被以下专栏收录

    Win2D是一款易于使用的Windows运行时API,可用于GPU加速的即时模式2D图形渲染。它适用于为Windows通用平台(UWP)编写应用程序的C#,C ++和VB开发人员。它利用了Direct2D的强大功能,并与XAML和CoreWindow无缝集成。