15,979
社区成员
发帖
与我相关
我的任务
分享
//这个做过,当时对旋转高度试了半天。
//RectF rcF是文字本身的矩形区域.
//for mirror text
g.ScaleTransform(1.0f,-1.0f);
g.TranslateTransform(0.0f,-2.0f * (rcF.GetBottom() + 2));
static float fMirHeight = 25;//镜像高度
RectF rcMir = rcF;
rcMir.Y += rcF.Height - fMirHeight;
rcMir.Height = fMirHeight;
g.SetClip(rcMir);
g.DrawString(szCaption,-1,&fontTextBold,rcF,&stringFmt,&LinearGradientBrush(rcMir,Color(200,0,0,0),Color(0,0,0,0),270));
//restore transform
g.TranslateTransform(0.0f,2.0f * (rcF.GetBottom() + 2));
g.ScaleTransform(1.0f,-1.0f);
if(m_pParent)//CWnd 类型
{
CRect rc;
m_pParent->GetClientRect(rc);
g.SetClip(Rect(rc.left,rc.top,rc.Width(),rc.Height()));
}
//end of mirror text