VC++载入图片的问题

作者&投稿:达奚严 (若有异议请与网页底部的电邮联系)
VC++浮动窗口怎么载入背景图片~

有几个方法
1:是加载位图
2:加载其他格式的图像,具体的参照一下参考资料的链接,博客

介绍一种最简单的办法。用 CImage 类的 Load 函数加载图片,之后用 Detach 取得 HBITMAP 句柄。取得图片的HBITMAP 句柄后就可以像操作 BMP 图片一样处理 JPG / JPEG / GIF / PNG 格式的图片了。具体代码如下:

#include “atlimage.h”

CImage img;

HRESULT ret = img.Load(filename ); // filename 是要加载的文件名(包含路径)

HBITMAP bitmap = img.Detach();

然后搞一个dc,BitBlt 就可以了

一种比较容易理解的方法是:
1.定一个CBitmap 类型的数组变量.(如:CBitmap m_Image[20];)和一个计数变量(如:int m_Num);

2.在初始化函数中加载那二幅图画.(如:
m_Image[0].LoadBitmap(IDB_BITMAP1)
....
m_Image[19].LoadBitmap(IDB_BITMAP20),直到第二十张 ) //IDB_BITMAP_为片ID号
并且初始化m_Num = 0;

3.在那个按钮的处理函数中添加类似如下代码:
((CStatic*)GetDlgItem(ID))->SetBitmap((HBITMAP)m_Image[m_Num]);
m_Num = m_Num +1;
if(m_Num == 20)
m_Num = 0;
//ID为图片控件(picture control)的ID号

就行了

用一数组存图片,然后点下一张就让索引加1,点上一张就让索引减一,然后再显示,不就行了?

对按钮控件进行WM_LBUTTONDOWN消息响应
并设一个静态常量作为图片号的标识,每次按键后自增1

加载下一张,显示下一张!

OnbuttonClk


C语言程序:最后一张图片的问题,如何修改程序使结果能显示虚数?
这个比较简单了,你可以先判断b^2-4ac是否小于0,如果大于等于0,就按照你这样的方法做,如果不是,那么你只要先对b^2-4ac的绝对值开方,开出来的根后面带上i,然后代到那个公式里继续算就好了,你心里这么知道,只是在运行的时候要把显示自己弄好。你要注意,输入函数里的是lf,是L,不是1,很...

C语言编程问题、用图片上的格式写。两个问题。大神看一下
s = sum(n); \/\/函数调用 int sum(int n){ if (n==1)return n; else return (1+n) * n \/ 2;} \/\/函数定义 === r=power(i,n); \/\/函数调用 int power(int x, int n){ if (n==1) return x; else return x*power(x,n-1);} \/\/函数定义 ...

一个关于C程序的问题,求助高手
因为记事本是文字处理程序,只能显示可见的字符,而jpg文件是二进制文件,里面有很多数值是不可见字符。所以用记事本打开jpg文件就会造成这些不可见字符的丢失,最终导致jpg文件被损坏。可以用C程序按照二进制方式打开jpg文件,然后在文件尾添加数据后保存。这样的操作会造成jpg文件不能被图片浏览软件识别,但是...

问一道C语言编程的问题,看下图
按你的提问,每天都吃一半多两个,第6天剩一个。程序按图片中的程序照猫画虎即可。计算结果,第一天摘了156个桃子,而不是100个。include <stdio.h>int main(){int day,x1,x2;day=5;x2=1;while(day>0){x1=(x2+2)*2;x2=x1;day--;}printf("total=%d\\n",x1);return 0;} 用数...

C语言编程问题。。。 为什么运行到图片就不往下运行了?!检查也没错误...
while(hero.hp>0&&boss.hp>0);后面有个分号,无限死循环了。另外是不是应该把下面的那些内容放到while的循环体里,用{}框起来?

c语言问题 关于字符串 看图片
strlen(chars)-1],c; char words[100]; printf("1、已知字符串%s,从下标begin开始,顺序取n个字符房子新串t中\\n",s); printf("请输入下标begin及字符个数n的值:"); scanf("%d%d",&begin,&n); *(&s[begin]+n)=0; strcpy(t,&s[begin]...

C语言 bmp 图片处理填充问题问题
BMP头文件共54个字节,第35和36字节……是说头文件以后的总字节数的,这个要和实际的对应,如果不一样就无法绘图。这些字节是16位数,前面的第35字节为低位,后面位一次增高,例如:一个10X10的BMP图像,这里应该是2C 01=300=10X10X3个字节,文件总大小为354字节。但实际这个值可以比300大:比如:...

求大神指教c文件程序问题,在下面图片中,谢谢了
如果碰到回车,即'\\n' 则删除该字符 遇到引文字母,如果是大写则转为小写,有函数可调用,或者自己写 str[i] = str[i] + ('a'-'A'); 这样就转成小写了 在声明一个文件指针,以写模式打开文件 data2.txt 最后调用函数fclose分别关闭这2个文件指针 祝好运,有不太明白的可以再问我.

C语言初级题目:见图片。剩下没被照到的语句是输出a[m++]的作用
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 include<stdio.h> int is(int number);\/\/我没有重新写,就是把你的改了下,应该没错,没太仔细看 int main(void){ int m,n,c,count;printf("Input m: ");scanf("%d",&m);printf("...

c语言问题!(两个图片是上半部分和下半部分)那个调用函数f(s.a,s.n...
struct S s的意思是创建一个结构体 S类型的变量s。s中的元素10相当于结构体S中的int n。同理后面的数组等于S中的int a[20]f(s.a,s.n)的意思是执行函数void f(int *a,int n),其中带入函数形参的两个值s.a指的是变量s中的元素数组{2,3,1,6,8,7,5,4,10,9},s.n等于10 ...

郾城县13396979257: VC++导入图片问题 -
岳咸肌苷: 用右建点击rc文件,会弹出下拉框,有增加资源,(Add Resource),然后在点击import(导入),就可以不图片导入到程序中,然后,就是程序了 HBITMAP hbmp,holdbmp,hnewbmp;BITMAP mp; HDC hdc,hnewdc; hbmp=LoadBitmap(hdc,...

郾城县13396979257: VC++载入图片的问题
岳咸肌苷: 一种比较容易理解的方法是: 1.定一个CBitmap 类型的数组变量.(如:CBitmap m_Image[20];)和一个计数变量(如:int m_Num); 2.在初始化函数中加载那二幅图画.(如: m_Image[0].LoadBitmap(IDB_BITMAP1) .... m_Image[19].LoadBitmap(...

郾城县13396979257: 我用Vc++6.0载入图片,显示和读入.最后出来的就是灰色的,没有图片.程序没有错误,不知道什么原因? -
岳咸肌苷: 这段程序是没问题的 调试运行的时候图片必须放在工程目录下,检查下你的000.jpg图片文件是不是放在了工程目录下,如果想放在其他目录必须加绝对路径或者相对路径

郾城县13396979257: VC++加载透明位图的问题..游戏制作加载图片的问题 -
岳咸肌苷: 完全可以,图片可以保存成PNG格式,PNG格式支持透明通道,只要图片是透明的地方加载到程序显示也是透明,不过需要使用能加载PNG的类库,如GDI+,CxImage,libpng等等,普通的GDI不支持PNG格式.虽然用这种方法图片人物是透明,但是碰撞的时候还是用原本图片的矩形大小进行判断,需要修改碰撞算法.

郾城县13396979257: 急!!如何用Visual C++ 读取jpg图片然后显示出来 -
岳咸肌苷: 用这个函数loadimage() 载入图片

郾城县13396979257: 在线等 VC++关于加载读取JPG,PNG,BMP 或者DX 图像格式的问题 -
岳咸肌苷: 1.很小白的方法,直接改扩展名,自己知道是什么类型的就好2.用二进制将图片写进文件,使用的时候再从文件中抽取出来,可以定义一个类似于这样的结构体 struct PICTURE_INFO { TCHAR name[50]; //文件名 UINT size; //文件大小 TCHAR *...

郾城县13396979257: 编程vc++运行中出现图片中是什么问题
岳咸肌苷: 你好,这个应该是程序与系统的兼容性问题来的有的早期的或者是编写的程序与最新的系统有点不兼容的所以出现了这样的情况的,你看看能不能换个VC++支持这系统的再试下编译的可以换为其他的模式的看看!

郾城县13396979257: VC++如何导入BMP图片 -
岳咸肌苷: 两种方式::LoadImage(NULL, (路径), IMAGE_BITMAP, 0, 0,LR_LOADFROMFILE|LR_LOADMAP3DCOLORS);::LoadBitmap(模块实例,路径或者资源id)

郾城县13396979257: VC++ 6.0 客户区载入一张图片 -
岳咸肌苷: 在 VIEW 里 创建 CClientDC dc(this); 用BitBlt 写入工作区即可

郾城县13396979257: 【高分求救】VC++下如何载入一张位图并获取该位图的像素值 -
岳咸肌苷: HBITMAP hBmp = (HBITMAP)LoadImage( NULL , "z:\\bg4.bmp" , IMAGE_BITMAP , 0 , 0 , LR_CREATEDIBSECTION | LR_LOADFROMFILE); if (hBmp != NULL) { BITMAP bmp = {0}; int ret = GetObject( hBmp , sizeof(BITMAP) , &bmp ); if (ret) ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网