博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Direct2D DirectWrite绘制文字
阅读量:2503 次
发布时间:2019-05-11

本文共 997 字,大约阅读时间需要 3 分钟。

绘制文本使用DirectWrite
为了简化 DirectWrite 的使用,RenderTarget有3个方法可以直接绘制文本:
  • ,用于简单绘制,支持Unicode。
  •  ,提供布局和格式。
  • 精确控制字形级别布局。
写一个简单的例子:
别忘了头文件和lib
#include "wincodec.h"
dwrite.lib;
下面的是d2d必须的
d2d1.lib;
dxgi.lib;
dxguid.lib;
创建文本的流程如下:
类似于,还是需要一个Factory,只不过这次是:
  1. IDWriteFactory。然后初始化。
  2. 然后创建文本格式,包括字体,字号等。
  3. 设置绘制布局。
  4. 绘制。
pRenderTarget->BeginDraw();	IDWriteFactory* pDWriteFactory = NULL;	IDWriteTextFormat* pTextFormat = NULL;	// create dwrite factory	DWriteCreateFactory(		DWRITE_FACTORY_TYPE_SHARED,		__uuidof(IDWriteFactory),		reinterpret_cast
(&pDWriteFactory)); //create text format hr = pDWriteFactory->CreateTextFormat( L"Arial", NULL, DWRITE_FONT_WEIGHT_NORMAL, DWRITE_FONT_STYLE_NORMAL, DWRITE_FONT_STRETCH_NORMAL, 20.0f * 96.0f/72.0f, L"en-US", &pTextFormat ); D2D1_RECT_F layoutRect = D2D1::RectF(1000.f, 1000.f, 200.f, 200.f); //draw text pRenderTarget->DrawText( L"Hello D2D", wcslen(L"Hello D2D"), pTextFormat, layoutRect, pBlackBrush ); pRenderTarget->EndDraw();
更多介绍MSDN

转载地址:http://emlgb.baihongyu.com/

你可能感兴趣的文章
iOS中使用nil NULL NSNULL的区别
查看>>
Hdu1754-线段树-单点更新
查看>>
在python中使用正则表达式(一)
查看>>
asp.net mvc 4.0的部署
查看>>
WordPress资源站点推荐
查看>>
Python性能鸡汤
查看>>
导航菜单栏下拉隐藏js实现
查看>>
官网pyse的修改版
查看>>
window.setTimeout() 和window.setInterval() 的差别
查看>>
android Manifest.xml选项
查看>>
面向对象
查看>>
C#最佳工具集合:IDE、分析、自动化工具等
查看>>
C# 与JAVA 的RSA 加密解密交互,互通,C#使用BouncyCastle来实现私钥加密,公钥解密的方法...
查看>>
js—去除重复的数
查看>>
echarts使用中的那些事儿(一)
查看>>
linux系统调优
查看>>
UVA 1600
查看>>
Android显示GIF图片
查看>>
POJ 1042 Gone Fishing (贪心)(刘汝佳黑书)
查看>>
POJ1458 Common Subsequence 【最长公共子序列】
查看>>