SOUI中使用img控制元件顯示jpg圖片的方法
1.標頭檔案
#include "../../controls.extend/FileHelper.h"
#include <GdiPlus.h>
#pragma comment(lib,"gdiplus")
2.建立控制元件
SImageWnd* m_pImage_Goods;
3.顯示圖片
CFileDialogEx openDlg(TRUE, _T("jpg"), 0, 6, _T("jpg files(*.jpg)\0*.jpg\0All files (*.*)\0*.*\0\0"));
if (openDlg.DoModal() == IDOK)
{
SStringT strFileName = openDlg.m_szFileName;
CRect rc = m_pImage_Goods->GetClientRect();
IRenderTarget* pRT = m_pImage_Goods->GetRenderTarget(&rc, OLEDC_PAINTBKGND);
HDC hdc = pRT->GetDC();
Gdiplus::Graphics *pGraphics = new Gdiplus::Graphics(hdc);
Gdiplus::Bitmap *pBitmap = Gdiplus::Bitmap::FromFile(strFileName);
pGraphics->DrawImage(pBitmap, rc.left, rc.top, rc.Width(), rc.Height());
delete pBitmap;
delete pGraphics;
pRT->ReleaseDC(hdc);
m_pImage_Goods->ReleaseRenderTarget(pRT);
}