转载请注明出处: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. Oracle数据库 插入数据格式,简单查询

    操作练习代码,知识点往下翻 TRUNCATE TABLE hehe1111; select * from hehe1111; desc hehe1111; ,'); ,'); ,'); ,'); ,' ...

  2. Javaweb学习(二):Http通信协议

      当我们开始jsp/servlet编程之旅之前,我们还需要知道一些关于网络通讯方面的一些知识.这样能更加有助于我们的理解,希望大家能看懂我的描述,而不至于在学习的路上一知半解.(手动比❤) 认识Ht ...

  3. October 19th 2017 Week 42nd Thursday

    If you remember me, then I don't care if everyone else forgets. 只要你记得我,我不介意整个世界都把我遗忘了. I can't follo ...

  4. leetcode 121 买卖股票的最佳时机

    题目 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格. 如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润. 注意你不能在买入股票前卖出股票. ...

  5. priority_queue的优先级变化(结构体的写法)

    priority_queue的优先级变化(结构体的写法) 在头文件中加上#include <queue> 即可使用stl中的库函数priority_queue,优先队列默认的是从大到小的优 ...

  6. python difflib.md

    difflib 此模块提供了用于比较序列的类和函数.它可以用于例如比较文件,并且可以产生各种格式的差异信息,包括HTML和上下文以及统一差异. difflib 模块包含用于计算和处理序列间差异的工具. ...

  7. loli的搜索测试-5

    今天早上听说不放假感觉很sad,又听说要考试感觉更sad了,早读的时候Juan_feng表示即使考也不会考虫食算,结果上午并没有考试,就自己做了几道题.不得不说做题的决定实在是太明智了,做NOIP历年 ...

  8. BZOJ4810:[YNOI2017]由乃的玉米田(莫队,bitset)

    Description 由乃在自己的农田边散步,她突然发现田里的一排玉米非常的不美.这排玉米一共有N株,它们的高度参差不齐. 由乃认为玉米田不美,所以她决定出个数据结构题   这个题是这样的: 给你一 ...

  9. 【Git123】Git

    https://www.cnblogs.com/jager/p/6684637.html 四.git工作原理 这边文章介绍的不错 Git from the Bottom Up 六.git常用命令 wo ...

  10. Linux下RPM包的安装

    Linux下RPM包安装 二进制包(RPM包.系统默认包) RPM安装 rpm -ivh 包全名(查询依赖网址:http://www.rpmfind.net) -i(install):安装 -v(ve ...