⑴ 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;
}
}
⑵ c语言中如何自定义背景图片,用什么函数呀,举个例子……
c语言中没有定义这样的函数,你只有将相关代码嵌套在画图的函数中,
通过调用来实现它……
⑶ MFC的问题,关于OnChar()函数和背景图片设置
把::OnDraw的东西弄到::OnEraseBkgnd里面就可以了
⑷ 能举例在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);
}
(4)函数背景图片扩展阅读
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;
}
⑸ libxl中有没有添加背景图片的函数
如果想在Excel中加入背景图片,可以选择菜单--插入--背景
⑹ 用javascript 函数的参数 替换div的背景图片
light.style.backgroundImage="url(pictureurl)";
改为:
light.style.backgroundImage="url("+pictureurl+")";
试试吧!
⑺ java中怎样在构造函数中插入背景图片
SWING?
这样子。
class Test extend JFrame{
//构造方法
public Test(){
paint();
}
//加背景方法
public void pain(){
}
public static void main(String[] args){
new Test();
//这样就可以了
}
}
⑻ 如何在C语言中添加背景图片
C语言写控制台程序是无法加图片的,只能用命令行输出,最多就是设置下背景和字体,颜色之类的。如果开发API窗口程序,完全依赖于操作系统的函数库。C语言本身并不提供这类函数。
下面是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;
}
}
⑼ 在javascript中 怎样调用函数 转换不同的背景图片
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk" />
<meta name="Keywords" content=""/>
<meta name="Description" content=""/>
<title>背景图片变换效果</title>
<script type="text/javascript">
function chgBgImg(id, src){
document.getElementById(id).style.backgroundImage = "url(" + src + ")";
}
</script>
<style type="text/css">
#img{width:110px;height:82px;margin:50px auto;border:4px solid #ccc;}
</style>
</head>
<body>
<div id="img"></div>
<input type="button" onclick="chgBgImg('img', 'http://media2.ihompy.com/200908/23/11011059381_12510156189tmq.jpg');" value="第1张"/>
<input type="button" onclick="chgBgImg('img', 'http://media2.ihompy.com/200908/23/11011059381_1251015601jaa5.jpg');" value="第2张"/>
<input type="button" onclick="chgBgImg('img', 'http://media2.ihompy.com/200908/23/11011059381_1251015565odgs.jpg');" value="第3张"/>
</body>
</html>
⑽ 关于图片缩放的问题,我封了个函数,然后要调用两次,背景图一样,里面合成的图片内容大小不一样
如果要按比例绽放的话,选中图像以后按Ctrl+T,然后按住shift绽放就行;
如果你要缩放多少倍的话,你可以选中图像以后按Ctrl+T,然后任务栏上面会出现一排东西(具体那些东西叫啥,我也不知道……),然后你顺着那排往后走,刚开始的“X Y ”是移动用的!然后按往后走就是“W H ”,这个就是缩放用的!点一下W和H中间的链接符号,然后输入你想要缩放的数值!这样就ok啦!希望可以帮助到你!