使用微软的GDI绘图的效果可能会很差,因为没有反走样(antialias)处理,比如绘制一条非水平的直线或椭圆,看上去会有明显的不平滑,这是采样不足导致的。而一些其他的绘图方法入GDI plus则对此作了处理。这里介绍的是使用D2D接口实现绘图,可参考windows sdk里的Direct2DHelloWorld例子,首先通过D2D1CreateFactory和DWriteCreateFactory创建两个工厂,把主窗口的handle通过CreateHwndRenderTarget交给ID2D1Factory,同时得到ID2D1HwndRenderTarget接口(相当于HDC)。渲染时,需要设置变换矩阵,清除背景,这和D3D里有点类似。使用这样的接口带来的好处时,拥有了反走样的效果,看不到边缘处的突变。

这套绘图接口还可以创建线性渐变和径向渐变的画刷,还可以绘制三次贝塞尔曲线,使用ID2D1GeometrySink和ID2D1PathGeometry定义贝塞尔曲线的四个顶点,渲染时用ID2D1HwndRenderTarget接口绘制出来。

使用D2D接口绘制图形相关推荐

  1. Python项目实践:自动轨迹绘制(根据脚本绘制图形)

    一.自动轨迹绘制 这里不是用turtle库写代码绘制图形,而是写程序去读取文件,解析其中的数据然后根据数据来绘制图形,使用数据脚本实现自动化. 在任何领域中,只要是希望我们的程序自动化模块化,设计相关 ...

  2. esri-leaflet入门教程(5)- 动态绘制图形

    esri-leaflet入门教程(5)- 动态绘制图形 by 李远祥 在上一章节中已经说明了esr-leaflet是如何加载ArcGIS Server提供的各种服务,这些都是服务本身来决定的,API脚 ...

  3. 数据分析-Jupyter,Matplotlib介绍-Matplotlib绘制图形

    数据分析 Jupyter介绍 Jupyter Notebook是以网页的形式打开,可以在网页页面中直接编写代码和运行代码,代码的运行结果也会直接在代码块下显示的程序.如在编程过程中需要编写说明文档,可 ...

  4. 微信小程序开发—(八)canvas绘制图形

    一.小知识 (1).API接口 (2).context 对象的方法列表 二.步骤 wxml中: <canvas canvas-id="myCanvas" class=&quo ...

  5. WeMOS D1 MIni(Esp8266)、NodeMCU与ST7789 TFT液晶显示屏绘制图形

    WeMOS D1 MIni(Esp8266).NodeMCU与ST7789 TFT液晶显示屏绘制图形 材料 硬件连接图 Arduino IDE支持Wemos D1 Mini. 库安装 Arduino_ ...

  6. 使用canvas绘制图形

    canvas是html5新增的专门用来绘制图形的元素,在页面上放置一个canvas元素,就相当于在页面上放置了一块画布,可以在其中使用方法进行图形的绘制. 1.1 在页面添加canvas元素 < ...

  7. 绘制多边形_XDGE_RayMarchine 1- 利用Frag Shader绘制图形

    转载于小道的博客园 XDGE_RayMarchine 1- 利用Frag Shader绘制图形​www.cnblogs.com # Render/RayMarchine/Base 1- 利用Frag绘 ...

  8. 【青少年编程】【二级】绘制图形

    「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),公众号后台回复[Scratch]或[Python],即可进入.如果加入了之前的社群不需要重复加入. 微信后台回复"资料下载&quo ...

  9. 这么详细的Python matplotlib 绘制图形 还不赶紧收藏

    前言 我们前面对matplotlib模块底层结构学习,对其pyplot类(脚本层)类提供的绘制折线图.柱状图.饼图.直方图等统计图表的相关方法,列举往期文章如下. 超详细的Python matplot ...

最新文章

  1. java如何处理csv文件上传_java处理csv文件上传示例
  2. 5.PHP与Web页面交互
  3. 详解IIS中URL重写工具的规则条件(Rule conditions)
  4. java md5运算_java实现计算MD5
  5. luogu P6178 【模板】Matrix-Tree 定理
  6. logging记录日志
  7. python编写ATM类_Python中编写类的各种技巧和方法
  8. 【BZOJ4197】寿司晚宴,状态压缩DP
  9. 传闻或成真!这款新iPhone真就要停产了...
  10. 网站模型|可以帮助你以一种美丽、独特的方式展示你的网站设计。
  11. jQuery 事件方法(交互)
  12. python rpc_对python调用RPC接口的实例详解
  13. Emacs之正则查多字符串(occur)
  14. 【HANA系列】SAP HANA中null变成问号的问题
  15. mysql主从同步完整命令
  16. FineReport中统计列中不同数据的个数
  17. cadz轴归零命令_CAD中所有图形实现统一标高(Z轴归零)的方法,统一标高的快捷键命令...
  18. 算法音乐往事:二次元女神“初音未来”诞生记
  19. ASP.Net使用ADSI操作IIS遇到的0x80070005等问题研究记录
  20. 鸟瞰Atlassian认证

热门文章

  1. 网络在线电视专家 v7.27 怎么用
  2. 输入年月判断这个月有多少天
  3. 【从0开始学web】89-150 php特性
  4. PokemonGo:LBS游戏开发
  5. 关于零基础入门金融风控挑战赛的笔记系列
  6. 常见图片尺寸大小(厘米 cm,象素 px)
  7. 【程序人生】程序员薪酬对比研究以及晋升详情2022(持续更新)
  8. 四面深信服(长沙)软件测试工程师10k,大概是长沙双休犯法吧笑
  9. Java常用加密解密算法全解
  10. 【面试题】面向对象与面向过程的区别