转载请注明出处:http://www.cnblogs.com/Ray1024

一、概述

Direct2D是一个基于Direct3D的2D图形API,可以利用硬件加速特性来提供高性能高质量的2D渲染。但是使用过老版本Direct2D的朋友应该都会发现,如果你想使用它来实现2D图形效果很困难,只能用来做一些基本的绘制和变换。但是最近看了msdn上面Direct2D有了1.1和1.3版本,这些版本提供了更丰富的功能,但是只有英文文档,所以大家可能对这些功能不是很熟悉。在这一系列教程中,将详细介绍Direct2D新版本的内容,让大家更方便地使用Direct2D来进行2D渲染工作。

在Direct2D1.1中,我们可以对图片应用高质量的特效,这些特效基于Direct3D11,可以发挥出GPU在图像处理方面的优势,比如着色器的使用等等。这些特效可以分为两种:内置特效和自定义特效。它们应用于任何位图,包括:Windows图像组件(WIC)加载的图像,Direct2D绘制的位图,DirectWrite中的文本或Direct3D渲染的场景。我们可以在实际应用中使用Direct2D特效来实现我们想要的一些效果。

二、Direct2D1.1内置特效概览

Direct2D1.1的内置特效有很多,大致可以分为以下几类:

  - Filtering滤镜

  - Composition and Blending组合和混合

  - Transparency透明度

  - Color颜色

  - Lighting and Stylizing光照

  - Transforming and Scaling平移和缩放

  - Sources来源

在这里我们只挑出几个内置特效,把效果图展示给大家,让大家体验一下Direct2D可以实现的一些图片渲染效果,不做过多的介绍。

(1)离散传递效果(Discrete transfer effect)

(2)色调旋转效果(Hue rotatation effect)

 
(3)线性传递效果(Linear transfer effect)
 
(4)卷积矩阵效果(Convolve matrix effect)
 
(5)高斯模糊效果(Gaussian blur effect)
 
(6)形貌效果(Morphology effect)
 
(7)波动效果(Displacement map effect)
 
(8)阴影效果(Shadow effect)
 
(9)浮雕效果(Emboss Effect)
 
 
(10)边缘检测效果(Edge Detection Effect)
 
(11)曝光效果(Exposure Effect)
 
(12)灰度效果(Grayscale effect)
 
(13)高亮和阴影效果(Highlights and Shadows Effect )
 
(14)反转效果(Invert effect)
 
(15)棕褐色调效果——怀旧风格(Sepia Effect)
 
(16)锐化效果(Sharpen Effect)
 
(17)晕印效果(Vignette Effect)
 

三、结语

看到这里是不是对Direct2D有些刮目相看了?是的,最初刚看到这些我也是眼前一亮,很让人兴奋是不是。在之后的教程中,我将为大家详细介绍这些Direct2D1.1中的内置特效。

[Direct2D1.1教程] Direct2D特效概览的更多相关文章

  1. 【Direct2D1.1初探】Direct2D特效概览

    转载请注明出处:http://www.cnblogs.com/Ray1024 一.概述 Direct2D是一个基于Direct3D的2D图形API,可以利用硬件加速特性来提供高性能高质量的2D渲染.但 ...

  2. ZeroMQ 教程 001 : 基本概览

    介绍性的话我这里就不翻译了, 总结起来就是zmq很cool, 你应该尝试一下. 如何安装与使用zmq 在Linux和Mac OS上, 请通过随机附带的包管理软件, 或者home brew安装zmq. ...

  3. 在 WinForm 中使用 Direct2D

    在 C# 的 WinForm 应用中,界面的绘制使用的是 GDI+.不过在一些特别的应用中,可能需要用硬件加速来提高绘制的效率.下面就来介绍两种在 WinForm 应用中嵌入 Direct2D 的方法 ...

  4. C# 使用 Direct2D 实现斜角效果

    Direct2D 是微软新的二维图形 API,可为二维几何图形.位图和文本提供高性能和高质量的呈现.Direct2D 支持硬件加速,无论是绘制速度还是绘制质量,Direct2D 都要比 GDI 和 G ...

  5. Swift - 开源框架总结

    苹果官方Swift文档<The Swift Programming Language> 苹果开发者Swift文档及介绍 网友整理的Swift中文文档< Apple Swift编程语言 ...

  6. HTML编辑模式下制作表格

    前面有朋友问如何做图文并茂的音乐帖子,的确音乐能以表格式做出来,更能让人过目不忘,何况帖子制作过程本身就是创作,包含了制作人对音乐的理解和爱好.以下简单介绍用代码HTML制作表格,希望对大家有所帮助. ...

  7. 一步一步构建手机WebApp开发——页面布局篇

    继上一篇:一步一步构建手机WebApp开发——环境搭建篇过后,我相信很多朋友都想看看实战案例,这一次的教程是页面布局篇,先上图: 如上图所示,此篇教程便是教初学者如何快速布局这样的页面.废话少说,直接 ...

  8. sanic+aiohttp爬虫demo(爬图片,新闻,数据)

    直接上代码,都是很简单的一些demo,爬取的网站,都没有什么加密措施,所以应该不涉及违法数据,哈哈 1.爬取网页数据(aiohttp+sanic+scrapy+xpath解析html) from sa ...

  9. Flutter如何引用第三方库并使用

    Flutter如何引用第三方库并使用 https://www.jianshu.com/p/bbda7794345e Flutter官网点击访问Flutter教程(一)Flutter概览Flutter教 ...

随机推荐

  1. hibernate---一对一双向外键关联 (重要)

    husband--wife: one to one 双向外键关联: 主导方: @OneToOne @JoinColumn(name="wifeId") 被主导方: @OneToOn ...

  2. kafka第五篇

    架构设计:http://www.linuxeden.com/html/news/20130309/136716_2.html 代码实现consumer 和producer

  3. axis2开发实例(一)

    主要参考<axis2之webservice新手超详细教程http://wenku.baidu.com/view/6eae036d011ca300a6c390a4.html> <axi ...

  4. 《算法导论》2.3-7 检查集合中是否存在两数字和为指定的X--算法和证明

    习题2.3-7:设计一个算法,对于一个给定的包含n个整数的集合S和另一个给定的整数X,该算法可以在时间内确定S中是否存在两个元素,使得它们的和恰为X. 解题思路:首先应该想到的是先用一个的排序算法对S ...

  5. libtask channel机理及调度理解

    学习golang的时候libtask库的代码是一定要看的,需要深入理解chan和携程的运行机制,下面就结合libtask的源码说明下运行原理,如果理解的有偏差欢迎指正 下面是libtask中Chann ...

  6. 机器学习算法与实现 之 Logistic Regression---java实现

    Logistic Regression和Linear Regression实现起来几乎是一样的,有疑问的同学可以看一看Andrew N.g在coursera上的machine learning课程. ...

  7. lpc1768ADC使用

    Lpc1768内置有一个ad外设,该外设有八路复用输入,所以,可以同时接八路ad设备,同时还支持触发转换模式,由外部端口进行ad触发,ad转换完成之后可以产生中断 Lpc1768支持的转换模式有两种, ...

  8. java实现——035第一个只出现一次的字符

    import java.util.Hashtable; public class T035 { public static void main(String[] args) { FirstNotRep ...

  9. Visual Studio 2012 开发环境配置+控制台工具+桌面应用程序

    一.界面布局视图设置 1.窗口的布局.控制台窗口运行恢复到开发环境的设置方法 也可以保存好设好的个性化设置,导入设置: 2.视图|服务器资源管理器(sever explorer) 可以访问数据源.服务 ...

  10. Java中String的split()方法的一些需要注意的地方

    public String[] split(String regex, int limit) split函数是用于使用特定的切割符(regex)来分隔字符串成一个字符串数组,这里我就不讨论第二个参数( ...