转载请注明出处: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. <一>初探js特效魅力之全选不选反选04

    初探js特效魅力04 我们在进入到公司里面工作的时候,做一个同一个项目,经常是大家分工合作,当我们写css时,一般不写在行间,因为这样会被误操作,也就是被乱删了都不知道,这样的后果是很难检查的 ,因为 ...

  3. <一>初探js特效魅力之选项卡05

    初探js特效魅力05 接下来为大家介绍的选项卡的切换 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&quo ...

  4. 在 WinForm 中使用 Direct2D

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

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

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

  6. 运维开发实践——基于Sentry搭建错误日志监控系统

    错误日志监控也可称为业务逻辑监控, 旨在对业务系统运行过程中产生的错误日志进行收集归纳和监控告警.似乎有那么点曾相识?没错... 就是提到的“APM应用性能监控”.但它又与APM不同,APM系统主要注 ...

  7. Three.js粒子特效,shader渲染初探(一篇非常详细的介绍)

    Three.js粒子特效,shader渲染初探 转载来源:https://juejin.im/post/5b0ace63f265da0db479270a 这大概是个序 关于Three.js,网上有不多 ...

  8. Three.js学习笔记 – “我和小伙伴都惊呆了”的特效和Three.js初探

    什么是Three.js three.js是JavaScript编写的WebGL第三方库.提供了非常多的3D显示功能.Three.js 是一款运行在浏览器中的 3D 引擎,你可以用它创建各种三维场景,包 ...

  9. ShardingSphere初探1 -- 概览

    知道这个框架是通过一期QQ课堂 https://shardingsphere.apache.org 官网 https://github.com/apache/incubator-shardingsph ...

随机推荐

  1. CSS| background_属性总结

    Property List 属性 描述 CSS background 在一个声明中设置所有的背景属性. 1 background-attachment 设置背景图像是否固定或者随着页面的其余部分滚动. ...

  2. gh-ost和pt-osc性能对比

    haughty_xiao     基于MySQL row格式的复制现在趋于主流,因此可以使用此格式的binlog来跟踪改变而不是触发器.与percona toolkit的pt-online-schem ...

  3. LabVIEW TCP/IP 断开重连问题

    LabVIEW的TCP/IP函数库非常好用,但是不恰当地设置打开连接结点的参数将带来一些问题,麻烦.如下图的打开连接的参数设置: 上图中指定了本地的端口,会发生这样的情况.当我们关闭应用程序之后,连接 ...

  4. Java 中File类的createNewFile()与createTempFile(), delete和deleteOnExit区别

    1. Java 中File类的createNewFile()与createTempFile()的区别 最近,在看代码时看到了一个方法, File.createTempFile() ,由此联想到File ...

  5. 【python27】猜随机数的小游戏

    游戏规则: 猜一个随机数,如果猜对了就给出相应的猜成功提示语(自定义文字),如果猜大或者是猜小了,给出对应的提示,但总的猜次数为三次,每猜错一次重新猜时,给用户提示所剩余的猜次数 实现如下: # -* ...

  6. python第三十课--异常(finally讲解)

    演示:finally语句的作用 try: fr="" path=r'kaifanglist1.txt' fr=open(path,encoding='utf-8') print(f ...

  7. 网络嗅探与欺骗(FTP部分)——P201421410029

    第三部分 FTP协议分析 1. 两个同学一组,A和B. 2.A同学架设FTP服务器,并设置用户名和密码,例如wbx /wbx 3.B同学在机器中安装Wireshark,并将其打开:之后用用户名和密码登 ...

  8. Python2.7-dbm、gdbm、dbhash、bsddb、dumbdb

    dbm.gdbm.dbhash.bsddb.dumbdb模块,都是操作数据库文件的模块,打开后都会返回对应数据库类型对象,类似字典,有许多操作和字典操作相同,键和值都是以字符串形式保存.dbm 是简单 ...

  9. httpclient介绍与使用

    什么是httpclient HttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的.最新的.功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HT ...

  10. SQL Server聚合函数与聚合开窗函数

    以下面这个表的数据作为示例. 什么是聚合函数? 聚合函数:聚合函数就是对一组值进行计算后返回单个值(即分组).聚合函数在计算时都会忽略空值(null). 所有的聚合函数均为确定性函数.即任何时候使用一 ...