1、DirectX 系列之 Direct 2D

Direct 2D是一个 采用立即模式 绘图的2D 图形API,也就是跟显卡驱动打交道的一个小程序,图形业务能力包括 2-D geometry, bitmaps, and text。
WM_Paint:
ValidateRect(window, 0);
//let WM_Paint message just once, and get rid of update region(that will send paint msg.)
//if windowsize changes WM_Paint also reloaded

一、渲染text

为什么要用DirectWrite,因为要自己做一个文本编辑器,需要用到
1、对文本的渲染、
2、分辨率无关轮廓字体、
3、完整的Unicode文本、
4、布局支持
DirectWriteAPI支持多格式文本的测量、绘制和点击测试。
实际上就是提供text_format的一个接口,当得到了一个text_format后,就利用ID2D1HwndRenderTarget 对象的render target去 drawtext(… text_format,brushcolor)

1 - D2D1CreateFactory(…&d2d_factory)创造一个factory object,该对象可使用Direct2D 的相关资源。

2 - DWriteCreateFactory(…&dwrite_factory)创建一个DirectWrite factory object,用于随后各个directwrite object的创建。
dwrite_factory 包含了DirectWrite 内部状态数据,比如 字体装载注册, 缓存的字体数据。注意:directwrite的各个组件可以共享一个DirectWrite内部状态数据。
设置文本格式
dwrite_factory->CreateTextFormat(…,&text_format)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值