1. c語言中如何自定義背景圖片,用什麼函數呀,舉個例子……
c語言中沒有定義這樣的函數,你只有將相關代碼嵌套在畫圖的函數中,
通過調用來實現它……
2. vc++如何給窗體添加背景圖片
三步。
第一步:
選好.bmp的類型的圖片。在資源視圖中導入。隨便復制到.res文件夾下。
第二步。在對話框上添加picture控制項,調整到大小。右擊屬性選擇Type選擇Bitmap.
Image下拉組合框選擇你導入的圖片。運行時即可顯示圖片。
如果要設置和窗體一樣的大小SetWindowPos就可以了。查查這個函數的作用
3. c++ 怎麼給對話框添加背景圖片
用CImage類.
在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);
}
4. C語言怎麼給程序添加背景圖片最好是給個例子
C語言寫控制台程序是無法加圖片的,只能用哪個命令行輸出,充其量設置下背景和字體,顏色之類的。
如果開發API窗口程序,完全依賴於操作系統。C語言本身並不提供這類函數。
5. vc++如何添加背景圖片
方法有很多種,這里簡單介紹三種,以修改對話框的背景為例。
方法一:
1、聲明成員變數CBrush m_brush;
2、在InitDialog中添加代碼:
CBitmap bmp;
bmp.LoadBitmap(IDB_BITMAP1); //這個IDB_BITMAP1要自己添加
m_brush.CreatePatternBrush(&bmp);
3、重載對話框的OnCtlColor,改最後的返回值:
return (HBRUSH)m_brush;
方法二:
把下面這段代碼加進OnPaint()里就行了
CPaintDC dc(this);
CBitmap bitmap;
bitmap.LoadBitmap(IDB_BITMAP1); //這個IDB_BITMAP1要自己添加
CBrush brush;
brush.CreatePatternBrush(&bitmap);
CBrush* pOldBrush = dc.SelectObject(&brush);
dc.Rectangle(0,0,200,200); // 這些參數可以調整圖片添加位置和大小
dc.SelectObject(pOldBrush);
方法三:使用StretchBlt()函數,具有圖像自適應窗體功能
CPaintDC dc(this);
CBitmap m_bmpBK;
m_bmpBK.LoadBitmap(IDB_BITMAP1);
CRect rect;
GetClientRect(&rect);//獲得目標尺寸,即窗口客戶區的坐標
BITMAP bitMap;//點陣圖結構體
m_bmpBK.GetBitmap(&bitMap);//獲得原圖片尺寸
CDC dcMem; //目標DC
dcMem.CreateCompatibleDC(&dc); //創建與dc兼容的內存DC
dcMem.SelectObject(&m_bmpBK);//將點陣圖對象m_bmpBK選入內存DC
dc.StretchBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0,bitMap.bmWidth,bitMap.bmHeight,SRCCOPY);
6. C語言如何引用背景圖片
1、C語言寫控制台程序是無法加圖片的,只能用命令行輸出,最多就是設置下背景和字體,顏色之類的。如果開發API窗口程序,完全依賴於操作系統的函數庫。C語言本身並不提供這類函數。
2、下面是windows系統下實現的函數代碼,第一個參數是圖片的存放的位置,第二個參數是窗口句柄。
HRESULTShowPic(char*lpstrFile,HWNDhWnd)
{
HDChDC_Temp=GetDC(hWnd);
IPicture*pPic;
IStream*pStm;
BOOLbResult;
HANDLEhFile=NULL;
DWORDdwFileSize,dwByteRead;
//打開圖形文件
hFile=CreateFile(lpstrFile,GENERIC_READ,
FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
if(hFile!=INVALID_HANDLE_VALUE)
{
dwFileSize=GetFileSize(hFile,NULL);//獲取文件位元組數
if(dwFileSize==0xFFFFFFFF)
returnE_FAIL;
}
else
{
returnE_FAIL;
}
//分配全局存儲空間
HGLOBALhGlobal=GlobalAlloc(GMEM_MOVEABLE,dwFileSize);
LPVOIDpvData=NULL;
if(hGlobal==NULL)
returnE_FAIL;
if((pvData=GlobalLock(hGlobal))==NULL)//鎖定分配內存塊
returnE_FAIL;
ReadFile(hFile,pvData,dwFileSize,&dwByteRead,NULL);//把文件讀入內存緩沖區
GlobalUnlock(hGlobal);
CreateStreamOnHGlobal(hGlobal,TRUE,&pStm);
//裝入圖形文件
bResult=OleLoadPicture(pStm,dwFileSize,TRUE,IID_IPicture,(LPVOID*)&pPic);
if(FAILED(bResult))
returnE_FAIL;
OLE_XSIZE_HIMETRIChmWidth;//圖片的真實寬度,單位為英寸
OLE_YSIZE_HIMETRIChmHeight;//圖片的真實高度,單位為英寸
pPic->get_Width(&hmWidth);
pPic->get_Height(&hmHeight);
//轉換hmWidth和hmHeight為pixels距離,1英寸=25.4毫米
intnWidth=MulDiv(hmWidth,GetDeviceCaps(hDC_Temp,LOGPIXELSX),2540);
intnHeight=MulDiv(hmHeight,GetDeviceCaps(hDC_Temp,LOGPIXELSY),2540);
//將圖形輸出到屏幕上(有點像BitBlt)
bResult=pPic->Render(hDC_Temp,0,0,nWidth,nHeight,0,hmHeight,hmWidth,-hmHeight,NULL);
hmHeight,NULL);
pPic->Release();
CloseHandle(hFile);//關閉打開的文件
if(SUCCEEDED(bResult))
{
returnS_OK;
}
else
{
returnE_FAIL;
}
}
7. vc怎麼在工具欄加背景圖片
先從CToolBar派生一個類CSXBar(名字隨便取啊)
頭文件里(CSXBar.h)
classCSXBar:publicCToolBar
{
public:
...
protected:
//{{AFX_MSG(CSXBar)
afx_msgBOOLOnEraseBkgnd(CDC*pDC);//聲明消息相應函數
//}}AFX_MSG
}
源文件里(CSXBar.cpp)
添加消息
BEGIN_MESSAGE_MAP(CSXBar,CToolBar)
//{{AFX_MSG_MAP(CSXBar)
ON_WM_ERASEBKGND()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
添加消息相應函數
BOOLCSXBar::OnEraseBkgnd(CDC*pDC)
{
//TODO:/orcalldefault
CBitmapm_bk;
m_bk.LoadBitmap(IDB_BK);
CDCm_dcbk;
m_dcbk.CreateCompatibleDC(pDC);
BITMAPm_bkInfo;
m_bk.GetBitmap(&m_bkInfo);
m_dcbk.SelectObject(&m_bk);
CRectrect;
GetClientRect(&rect);
pDC->StretchBlt(0,0,rect.Width(),rect.Height(),&m_dcbk,0,0,m_bkInfo.bmWidth,m_bkInfo.bmHeight,SRCCOPY);
return1;
}
一個新的類就做好了
然後在MainFrame頭文件里包涵自己的類頭文件
#include"SXBar.h"
最後一步,將原來的
CToolBarm_wndToolBar;
改成
CSXBarm_wndToolBar;
就完工了
記住了,分四步:
派生新的類
添加消息響應
編寫消息相應函數
調用新的類
8. C#用什麼控制項可以,添加動態圖片.
首先圖必須會動
然後直接添加到picbox里
或者代碼pictureBox1.Image = Bitmap.FromFile(路徑);
9. 如何使用c語言給編寫的程序添加背景圖片
C語言是控制台程序,都是黑底白字,要想加背景的話得自寫圖形庫頭文件,然後再加,呵呵