如何使用GDI+实现字符旋转??? 想将一个字符串中的每个字符逆时针90度旋转(即文字是逆时针躺着放的),如何使用GDI+来实现。高手指点。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 CFont m_font; VERIFY(m_font.CreateFont( 36, // nHeight 0, // nWidth 900, //90 * 10 // nEscapement 0, // nOrientation FW_NORMAL, // nWeight FALSE, // bItalic FALSE, // bUnderline 0, // cStrikeOut ANSI_CHARSET, // nCharSet OUT_DEFAULT_PRECIS, // nOutPrecision CLIP_DEFAULT_PRECIS, // nClipPrecision DEFAULT_QUALITY, // nQuality DEFAULT_PITCH | FF_SWISS, // nPitchAndFamily "Arial")); // lpszFacename ////////////////////////////// CFont *oldFont = pDC->SelectObject(&m_font); pDC->TextOut(100,100,"Devang"); pDC->SelectObject(oldFont);//////////////////////////////m_font.DeleteObject(); 也可在LOGFONT结构的lfEscapement和lfOrientation字段指定与期望的旋转角度成10倍的数.然后用CFont::CreateFontIndirect()或CFont::CreatePointFontIndirect()创建字体.然后正常方法显示字符就行了 ls没看清我的题目,我是想用GDI+来实现。我现在大致已经实现。代码如下:graphics.TranslateTransform(origin.X,origin.Y);graphics.RotateTransform(-90);StringFormat format;format.SetFormatFlags( StringFormatFlagsDirectionVertical) graphics.DrawString(wch_UnicodeString,wcslen(wch_UnicodeString),pFont,origin,&format,t);这里的orgin是不同字符串(wch_UnicodeString)的原点,但是现在存在一个问题,就是字符串旋转之后偏离的较多。哪位能介绍一下TranslateTransform是如何旋转的,以什么为原点的。选择之后的字符串的origin应该如何设置。 内存变化跟踪问题 C++程序调试不出现Message Box vc++ 编程实现txt文件指定信息的提取?? 求救!!!! MFC 和CLR 的.h文件引用問題 MFC工程中能不能读写不是TXT文档的文件?应该怎么写? 关于MFC程序关闭的问题 送分 一个关于MFC的问题??? 某个程序需要键盘和鼠标输入,我想编个程序,不操作键盘和鼠标,在我的程序中实现向那个程序输入键盘和鼠标,请问如何实现? ComBox的问题 DoModal()无法打开Dialog问题 关于MDI,如何使子窗体为对话框,而不使用Doc/View结构?
CFont m_font; VERIFY(m_font.CreateFont(
36, // nHeight
0, // nWidth
900, //90 * 10 // nEscapement
0, // nOrientation
FW_NORMAL, // nWeight
FALSE, // bItalic
FALSE, // bUnderline
0, // cStrikeOut
ANSI_CHARSET, // nCharSet
OUT_DEFAULT_PRECIS, // nOutPrecision
CLIP_DEFAULT_PRECIS, // nClipPrecision
DEFAULT_QUALITY, // nQuality
DEFAULT_PITCH | FF_SWISS, // nPitchAndFamily
"Arial")); // lpszFacename ////////////////////////////// CFont *oldFont = pDC->SelectObject(&m_font);
pDC->TextOut(100,100,"Devang");
pDC->SelectObject(oldFont);
//////////////////////////////
m_font.DeleteObject();
graphics.TranslateTransform(origin.X,origin.Y);
graphics.RotateTransform(-90);
StringFormat format;
format.SetFormatFlags( StringFormatFlagsDirectionVertical)
graphics.DrawString(wch_UnicodeString,wcslen(wch_UnicodeString),pFont,origin,&format,t);
这里的orgin是不同字符串(wch_UnicodeString)的原点,但是现在存在一个问题,就是字符串旋转之后偏离的较多。
哪位能介绍一下TranslateTransform是如何旋转的,以什么为原点的。选择之后的字符串的origin应该如何设置。