社区
机器视觉
帖子详情
GDI+读图片资源的问题!
Sime507
2005-10-10 11:16:36
GDI+编程将一个图片显示出来的代码:
Image image(L"Grapes.jpg"); //GDI+从文件中读图片
graphics.DrawImage(&image, 60, 10); //显示图片
我的图片从资源包中解压缩到内存中了,有没有办法让GDI+直接从内存中读数据?
这个问题困扰我好几天了,如果没有好的办法,只能将数据写到一个临时文件,再从文件中读取,不过这种方法严重影响程序效率。
...全文
193
5
打赏
收藏
GDI+读图片资源的问题!
GDI+编程将一个图片显示出来的代码: Image image(L"Grapes.jpg"); //GDI+从文件中读图片 graphics.DrawImage(&image, 60, 10); //显示图片 我的图片从资源包中解压缩到内存中了,有没有办法让GDI+直接从内存中读数据? 这个问题困扰我好几天了,如果没有好的办法,只能将数据写到一个临时文件,再从文件中读取,不过这种方法严重影响程序效率。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jiacool
2005-10-16
打赏
举报
回复
Bitmap p1(L"d:\\1.bmp");
for(int i=0;i<100;i++)
p1.SetPixel(i,40,Color(255,255,0,0));
gr.DrawImage(&p1,0,0,crt.Width(),crt.Height());
为什么 显示出来的图像 没有被setpixel 这是什么道理?
蒋晟
2005-10-15
打赏
举报
回复
http://www.codeproject.com/vcpp/gdiplus/cgdiplusbitmap.asp
Loading JPG & PNG resources using GDI+
zzwu
2005-10-13
打赏
举报
回复
如果不是bmp就麻烦了.
lijigang1982
2005-10-12
打赏
举报
回复
不知道你是什么意思,也不知道你用什么语言开发!
我现在学习用c#开发图形处理程序,就我目前所了解的情况!直接在界面上划出图象,整个过程非常慢!一般要用双倍缓存技术,即先把要画的东西画到某个图象对象里,再在待实现的界面上用drawimage函数画出所要的图象!如:graphics.DrawImage(image, 60, 10),这样处理还得等一小会!
我曾经看到过一个实现灰度处理的程序,它在c#的unsafe环境下执行,用了指针,给你罗列出来:
// GDI+ return format is BGR, NOT RGB.
Bitmap b= new Bitmap(pictureBox1.Image);
BitmapData bmData = b.LockBits(new Rectangle(0, 0, b.Width, b.Height),
ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb);
int stride = bmData.Stride; // bytes in a row 3*b.Width
System.IntPtr Scan0 = bmData.Scan0;
unsafe
{
byte * p = (byte *)(void *)Scan0;
byte red, green, blue;
int nOffset = stride - b.Width*3;
for(int y=0;y < b.Height;++y)
{
for(int x=0; x < b.Width; ++x )
{
blue = p[0];
green = p[1];
red = p[2];
p[0] = p[1] = p[2] = (byte)(.299 * red + .587 * green + .114 * blue);
p += 3;
}
p += nOffset;
}
}
b.UnlockBits(bmData);
pictureBox2.Image=b;
我实际运行了这个程序,速度非常快!只是还不太理解里面的意思!
写了这么多,不知道解决了你的问题没有,希望对你有帮助!
zzwu
2005-10-10
打赏
举报
回复
"解压缩到内存中"是否意味已经是bmp格式了?
GDI技术实现
图片
缩放
本文介绍在Windows编程中运用GDI技术实现
图片
放大缩小功能。涵盖GDI基础概念、
图片
加载、设备上下文创建、位图操作、图像缩放算法(最近邻插值与双线性插值)、图像绘制与
资源
清理,还提及GDI高级应用及在实际项目中的优化策略。
VC++使用
GDI+
和CImage类加载png
图片
(附源码)
本文详细介绍了在VC++中使用
GDI+
的Image类和MFC的CImage类加载png
图片
的方法,包括从磁盘和
资源
中加载,以及内存
资源
释放。特别指出,
GDI+
的Image类加载
图片
后会锁定文件,建议使用FromStream避免此
问题
。同时,CImage类虽然方便,但在处理带透明区域的png
图片
缩放时存在缺陷,推荐使用
GDI+
的Image类来解决。
GDI+
从
资源
中加载
图片
博客介绍了
GDI+
从
资源
中加载
图片
的两种方法。一种是通过com组件加载,可加载png、jpg;另一种是非com组件加载,但加载jpg
图片
会失败。代码中详细展示了两种方法的实现过程,包括
资源
查找、内存分配、流创建等操作。
使用
GDI+
进行
图片
处理时要注意的
问题
本文介绍了在使用
GDI+
进行
图片
处理时的一些关键点,包括
GDI+
库的加载与卸载,静态函数FromFile、FromHBitmap和FromStream的使用细节,特别是内存管理和句柄泄漏
问题
。此外,还探讨了Image::FromStream的使用方法以及
GDI+
的高质量绘图能力。
深入探究 C++ 程序中的
资源
泄漏
问题
(GDI对象泄漏、进程句柄泄漏与内存泄漏)
本文深入探讨了C++程序中的
资源
泄漏
问题
,主要包括GDI对象泄漏、进程句柄泄漏和内存泄漏。介绍了GDI对象的创建和释放,使用GDIView工具进行排查,以及如何避免泄漏。针对进程句柄泄漏,讨论了句柄的管理和CloseHandle的重要性。内存泄漏部分详细分析了动态内存管理的常见
问题
,如未释放的对象、多态中的析构函数、智能指针循环引用,并提供了排查方法。
机器视觉
4,511
社区成员
15,353
社区内容
发帖
与我相关
我的任务
机器视觉
图形图像/机器视觉
复制链接
扫一扫
分享
社区描述
图形图像/机器视觉
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章