GDI设置字体旋转的方法

Posted 力为

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GDI设置字体旋转的方法相关的知识,希望对你有一定的参考价值。

方法1:

通过设置WorldTransform进行变换:

angle为文字旋转的角度

position为文字的位置


			XFORM xForm;
			xForm.eDx = float(position.x);
			xForm.eDy = float(position.y);
			xForm.eM11 = float(cos(angle));
			xForm.eM12 = float(sin(angle));
			xForm.eM21 = -xForm.eM12;
			xForm.eM22 = xForm.eM11;
	
			SetGraphicsMode(hDC, GM_ADVANCED);
			SetWorldTransform(hDC, &xForm);
			::TextOutW(hDC, 0, 0, text.c_str(), text.size());
			ModifyWorldTransform(hDC, &xForm, MWT_IDENTITY);
			SetGraphicsMode(hDC, GM_COMPATIBLE);

以上是关于GDI设置字体旋转的方法的主要内容,如果未能解决你的问题,请参考以下文章

如何使用准确的 GDI 字体大小?

使用 GDI+,沿公共基线对齐文本(以几种不同字体绘制)的最简单方法是啥?

GDI+ - 为啥 MeasureString 函数使用 Courier 字体失败?

windows api(GDI)实现图片旋转

vc++使用GDI创建字体输出

MFC中GDI之CFont(字体)