导航:首页 > 软件知识 > 程序里如何写入图片

程序里如何写入图片

发布时间:2023-01-13 18:18:27

1. MFC程序里如何插入图片

这个说起来有点麻烦,因为不知道你具体要实现的功能,如果只是想让你的程序背景贴上一张图片的话.楼下那位已经给出你办法了,他的这个是将程序的背景擦除时直接不擦除的这个消息响应函数里把擦除背景的操作改为贴图操作.
导入外部图片,就点项目菜单下的添加资源,然后点导入,右下角那里选择文件类型,找到你要导入的bmp图片,点确定.图片就导入了,然后在资源管理器下面的bitmap项目组里可以找到该图片.和对应的ID号.
不过我还是帮你解释一下楼下的方法,省的你只知其然不知所以然.
//该函数用于在程序的背景须要擦除时windows标准消息ON_ERASEBKGND调用
BOOL CXXView::OnEraseBkgnd(CDC* pDC)
{
CBitmap bitmap;//这里先建立一个位图对象
bitmap.LoadBitmap(IDB_BKGROUND); //这里使用根本图像在资源中的ID加载图像到对象中
BITMAP bmp;//这里建立一个位图结构体主要是用来取位图的长宽值的
bitmap.GetBitmap(&bmp);//这里就是将位图对象中的图像资料放进这个结构体中

CDC dcCom;//建立标准DC用于绘制位图

dcCom.CreateCompatibleDC(pDC);//将建立的dc与当前程序提供的dc兼容,这里提供的dc是在ON_PAINT消息响应的OnPaint函数里创建的CPaintdc,至于这个Cpaintdc会作些什么自己查一下吧,不然会写很长
dcCom.SelectObject(&bitmap);//这里将图片放进这个兼容dc里,兼容dc在创建的时候大小是1X1像素的模块,将图像对象选进DC后,DC模块大小变为该图片大小.

CRect rect;//创建一个矩形对象
GetClientRect(&rect);//得到当前窗口的矩形大小,放进矩形对象中

pDC->StretchBlt(0,0,rect.Width(),rect.Height(),&dcCom,0,0, bmp.bmWidth,bmp.bmHeight,SRCCOPY);//使用DC的成员函数stretchblt将兼容DC拷备到当前dc中.
return true;
}
其实办法有很多种,依情况不同而使用也不同.比如dc.BitBlt()也是可以起到和StretchBlt差不多的作用,但是他不会将图片压缩和拉伸.
另外在ON_WM_CTLCOLOR()消息响应的OnCtlColor函数中也可以实现背景贴图的功能,这个办法比较简单相对来说,你只要为程序窗口类添加WM_CTLCOLOR()消息,然后在相应自动生成的OnCtlColor函数里,建立一个CBrush画刷,再建立一个CBitmap对象,将图像选进Cbitmap完了,将画刷初始化为这个Cbtimap,最后将这个画刷在OnCtlColor函数中返回.就可以了

2. C语言如何在编写的程序中插入图片

试试基于C/C++语言的开源图像处理函数库OpenCV吧:

#include "cv.h"
#include "highgui.h"

int main( int argc, char** argv )
{
IplImage* pImg; //声明IplImage指针

//载入图像
if( argc == 2 &&
(pImg = cvLoadImage( argv[1], 1)) != 0 )
{
cvNamedWindow( "Image", 1 );//创建窗口
cvShowImage( "Image", pImg );//显示图像

cvWaitKey(0); //等待按键

cvDestroyWindow( "Image" );//销毁窗口
cvReleaseImage( &pImg ); //释放图像
return 0;
}

阅读全文

与程序里如何写入图片相关的资料

热点内容
非洲卖什么数码产品好 浏览:662
济南二手房多久可交易 浏览:537
投保信息第三者投保在哪里查 浏览:247
达芬奇16数据库为什么建不了 浏览:565
正规的代理记账如何找 浏览:791
农副产品如何发传单 浏览:205
如何更新dnf助手信息 浏览:917
荣耀vivo如何转移数据 浏览:980
小程序名字怎么才能合格 浏览:102
市场营销专业适合哪个事业单位 浏览:285
海安收藏品交易市场在哪里 浏览:169
大通口碑好的代理记账电话多少 浏览:690
美团外卖代理运营怎么赚钱 浏览:362
分金亭如何代理 浏览:785
桥梁技术措施费包括哪些 浏览:586
cpu中的少量数据是什么 浏览:965
微博和小程序有什么区别 浏览:934
纯碱在哪个交易所 浏览:237
oppo手机怎么用usb数据线连接电视 浏览:176
小米l1和l5数据线哪个快 浏览:745