怎么旋转/镜像处理一个文本控件
如何旋转/镜像处理一个文本控件
如何90度/180度旋转一个static文本控件?甚至是镜像?
我的Ondraw代码如下:
CPaintDC dc(this); // device context for painting
CDC* pMyDC = NULL;
CRect rect;
if (pDC != NULL){
pMyDC = pDC;
pMyDC->SetWindowOrg((int) lpRect->left, (int)lpRect->top);
}
else{
pMyDC = &dc;
}
CBitmap bmp;
CBitmap* pOldBitmap = NULL;
// GET Client area
CRect rc;
GetClientRect(rc);
m_rc = rc;
//Double Buffering - Modify MemDC for transparent background but doesn't work
// because I have to invalidate parent when SetWindowText - Need to find a fix!!!
dc.SetBkColor(m_rgbBkgnd);
CMemDC MemDC(pMyDC, &rc, m_bTransparentBk);
// PAINT SOLID BACKGROUND IF NO BITMAP
if ( !m_bBitmap){
if ( !m_bTransparentBk ){
if (m_fillmode == Normal)
MemDC.FillRect(&rc, m_pBrush);
else
DrawGradientFill(&MemDC, &rc, m_fillmode, m_crLoColor, m_crHiColor);
}
}
else{// DISPLAY BACKGROUND BITMAP
DrawBitmap(&MemDC, &rc);
}
// TEXT RENDERING
CFont* pOldFont = MemDC.SelectObject( &m_font );
COLORREF rgbText = MemDC.SetTextColor(m_rgbText);
DrawText(&MemDC, &rc, m_strText);
// Restore DC's State
MemDC.SelectObject(pOldFont);
MemDC.SetTextColor(rgbText);
------最佳解决方案--------------------
你好,先画好再贴memdc是什么意思?然后image这个是gdiplus的类?能说详细点吗,谢谢!
------其他解决方案--------------------
做成图片更好转
------其他解决方案--------------------
做成图片字体容易失真,不希望失真,请问还有其他办法吗?
------其他解决方案--------------------
把文字在 memdc上面画好之后,再贴这个memdc,memdc可以用Image这个gdiplus类来管理,就可以做一些镜像与翻转的活了。
------其他解决方案--------------------
null
------其他解决方案--------------------
null
------其他解决方案--------------------
null
如何90度/180度旋转一个static文本控件?甚至是镜像?
我的Ondraw代码如下:
CPaintDC dc(this); // device context for painting
CDC* pMyDC = NULL;
CRect rect;
if (pDC != NULL){
pMyDC = pDC;
pMyDC->SetWindowOrg((int) lpRect->left, (int)lpRect->top);
}
else{
pMyDC = &dc;
}
CBitmap bmp;
CBitmap* pOldBitmap = NULL;
// GET Client area
CRect rc;
GetClientRect(rc);
m_rc = rc;
//Double Buffering - Modify MemDC for transparent background but doesn't work
// because I have to invalidate parent when SetWindowText - Need to find a fix!!!
dc.SetBkColor(m_rgbBkgnd);
CMemDC MemDC(pMyDC, &rc, m_bTransparentBk);
// PAINT SOLID BACKGROUND IF NO BITMAP
if ( !m_bBitmap){
if ( !m_bTransparentBk ){
if (m_fillmode == Normal)
MemDC.FillRect(&rc, m_pBrush);
else
DrawGradientFill(&MemDC, &rc, m_fillmode, m_crLoColor, m_crHiColor);
}
}
else{// DISPLAY BACKGROUND BITMAP
DrawBitmap(&MemDC, &rc);
}
// TEXT RENDERING
CFont* pOldFont = MemDC.SelectObject( &m_font );
COLORREF rgbText = MemDC.SetTextColor(m_rgbText);
DrawText(&MemDC, &rc, m_strText);
// Restore DC's State
MemDC.SelectObject(pOldFont);
MemDC.SetTextColor(rgbText);
------最佳解决方案--------------------
你好,先画好再贴memdc是什么意思?然后image这个是gdiplus的类?能说详细点吗,谢谢!
------其他解决方案--------------------
做成图片更好转
------其他解决方案--------------------
做成图片字体容易失真,不希望失真,请问还有其他办法吗?
------其他解决方案--------------------
把文字在 memdc上面画好之后,再贴这个memdc,memdc可以用Image这个gdiplus类来管理,就可以做一些镜像与翻转的活了。
------其他解决方案--------------------
null
------其他解决方案--------------------
null
------其他解决方案--------------------
null