Ⅰ 鍦∕FC 浣跨敤GDI+ 璋冪敤涓寮燩NG 鍥劇墖浣誇箣鎴愪負 鑳屾櫙鍥劇墖
鍦ㄥ伐紼媠tdafx.h涓娣誨姞濡備笅浠g爜錛屽叧鑱擥DI+錛
#include "GdiPlus.h"
using namespace Gdiplus;
#pragma comment(lib,"gdiplus.lib")鍦ㄧ▼搴忓垵濮嬪寲閮ㄥ垎錛屽硅瘽妗嗗伐紼嬫槸鍦╰est.cpp涓鍔犲叆涓嬮潰浠g爜錛岃呰澆GDI+:
BOOL CtestApp::InitInstance() //鍦ㄨ繖涓鍑芥暟涓鍔犲叆
{ 銆傘傘傘
AfxEnableControlContainer();
//瑁呰澆GDI+
GdiplusStartupInput m_gdiplusStartupInput;
ULONG_PTR m_pGdiToken;
GdiplusStartup(&m_pGdiToken,&m_gdiplusStartupInput,NULL);
銆傘傘傘傘
//鍗歌澆GDI+
GdiplusShutdown(m_pGdiToken);
return FALSE; //榪欎竴鍙ユ槸鑷鍔ㄧ敓鎴愮殑浠g爜
}
3.鍦∣nPaint()鍑芥暟鐨別lse涓娣誨姞濡備笅浠g爜錛
else
{
CDC *pDC;
pDC =GetDC();
CRect rect;
GetClientRect(&rect); //鑾峰彇瀹㈡埛鍖哄ぇ灝
Graphics graphics( pDC->m_hDC);
Image image(_T("res\bkg.png"), FALSE);
graphics.DrawImage(&image, 0, 0, rect.right, rect.bottom); //緇樺埗鑳屾櫙
CDialogEx::OnPaint();
}
Ⅱ 能舉例在c++中添加一張背景圖片嗎
在onpaint()中
if(IsIconic())
{
.......//系統代碼,不修改
}
else//在else中增加如下代碼,對JPG,BMP,PNG(背景透明圖片)有效
{
CRectrc;
GetClientRect(rc);
CImageimage;
image.Load(_T("c:\1.jpg"));//圖片文件路徑
if(image.GetBPP()==32)
{
inti;intj;
for(i=0;i<image.GetWidth();i++)
{
for(j=0;j<image.GetHeight();j++)
{
byte*pByte=(byte*)image.GetPixelAddress(i,j);
pByte[0]=pByte[0]*pByte[3]/255;
pByte[1]=pByte[1]*pByte[3]/255;
pByte[2]=pByte[2]*pByte[3]/255;
}
}
}
image.Draw(GetDC()->m_hDC,rc);
}
(2)mfcpng背景圖片擴展閱讀
C++插入圖片,音樂,文字
#include<graphics.h>//畫布上的一系列操作
#include<time.h>//有個各種時間函數
#include<conio.h>//按鍵操作
#include<mmSystem.h>//播放音樂
#pragmacomment(lib,"winmm.lib")//導入winmm.lib庫
intmain()
{
/**圖片**/
initgraph(800,600);//展開畫布
IMAGEimg;//類似於"inta",此是定義一個圖片變數
loadimage(&img,"最愛頭像.jpg",800,600);//載入圖片
/**把圖片放入windows資源管理器打開的文件夾時不需要寫地址**/
/**寫地址時''都要寫成'\'**/
putimage(0,0,&img);//(x,y,取地址)
/**音樂**/
mciSendString(TEXT("openMonBet.mp3aliasmusic"),0,0,0);
//open-操作方式,alias--定義了該操作的別名為music
mciSendString(TEXT("playmusic"),0,0,0);
/**文字**/
setbkmode(0);//去掉文字背景
settextcolor(YELLOW);//設置文字顏色
settextstyle(40,0,TEXT("楷體"));//(高,寬<0為自適應>,字體)
outtextxy(200,150,TEXT("最帥的男人"));//(x,y,內容)
//設置炫彩文字****************---就是顏色的循環
srand((unsigned)time(NULL));
while(!kbhit())//檢測按鍵函數,輸入按鍵返回1,不輸返回0,我們這里要相反的
{
setcolor(RGB(rand()%256,rand()%256,rand()%256));
//RGB是三原色紅,綠,藍,顏色范圍是0~255
outtextxy(200,250,"去掉TEXT就是這樣哦");
Sleep(100);//暫停100ms
}
while(1);
return0;
}
Ⅲ 濡備綍鍦∕FC閲屾樉紺簆ng鍥劇墖鎴栬儗鏅閫忔槑鐨刡mp鍥劇墖
鏄劇ずpng鍥劇墖鍙鍝琛浠ヤ嬌鐢╣di+鎴栬卆tl閲岄潰鐨勬柟娉
閫忔槑鑳屾櫙bmp鐨勮瘽浣跨敤 TransparentBlt 鏂規硶錛岃繖涓鐧懼害鐗╁瀷涓涓嬬湅鏉庤殏鑵斾竴涓嬫庝箞鐢
娉ㄦ剰涓涓嬭繖涓鏂規硶鍖呭惈鍦╩simg32.dll涓錛屼嬌鐢
#pragma comment( lib, "msimg32.lib" )
鏉ヨ繛鎺ヨ繖涓搴