Direct2D DirectWrite绘制文字

本文介绍如何使用DirectWrite简化文本绘制过程。通过实例演示了创建文本格式、设置布局及绘制文本的具体步骤。首先需要包含必要的头文件并链接库文件,接着通过IDWriteFactory创建文本格式对象,指定字体、大小等属性,最后利用RenderTarget对象的DrawText方法完成文本绘制。
部署运行你感兴趣的模型镜像
绘制文本使用DirectWrite

为了简化 DirectWrite 的使用,RenderTarget有3个方法可以直接绘制文本:

写一个简单的例子:
别忘了头文件和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<IUnknown**>(&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

您可能感兴趣的与本文相关的镜像

Llama Factory

Llama Factory

模型微调
LLama-Factory

LLaMA Factory 是一个简单易用且高效的大型语言模型(Large Language Model)训练与微调平台。通过 LLaMA Factory,可以在无需编写任何代码的前提下,在本地完成上百种预训练模型的微调

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值