社区
机器视觉
帖子详情
GDI+读图片资源的问题!
Sime507
2005-10-10 11:16:36
GDI+编程将一个图片显示出来的代码:
Image image(L"Grapes.jpg"); //GDI+从文件中读图片
graphics.DrawImage(&image, 60, 10); //显示图片
我的图片从资源包中解压缩到内存中了,有没有办法让GDI+直接从内存中读数据?
这个问题困扰我好几天了,如果没有好的办法,只能将数据写到一个临时文件,再从文件中读取,不过这种方法严重影响程序效率。
...全文
205
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格式了?
第五十八节 k8s1.30.x 安装Redis集群
一、环境准备1.1 准备k8s集群cat /etc/hosts --- 192.168.80.31 lyc-80-31 192.168.80.32 lyc-80-32 192.168.80.33 lyc-80-33 系统版本Rocky linux 8.10 docker版本 26.1.3 k8s版本 v1.31...
Centos 6.1下安装部署redis-cluster集群和哨兵模式
环境: Centos 6.1、redis 3.2.4; 注释:查看Centos命令:cat /etc/issue 第一步:下载并解压 cd root目录下,下载redis的jar包:wget http://download.redis.io/releases/redis-3.2.4.tar.gz,解压: tar -zxvf redis-3.2.4.tar.gz 第二步:编译并安装 cd ...
redis集群搭建(伪集群)Part 1 安装redis
redis集群搭建(伪集群)Part 1 安装redis 一、搭建目标 搭建一个六个节点,三主三从的集群。 二、搭建环境 一台Centos 7.1虚拟机,redis版本为redis-4.0.7 三、搭建步骤 1、下载并安装redis (1)redis官网下载redis的安装包, (2)通过远程连接管理工具上传到要安装的服务器上 (3)进入到下载的redis安装包的目录
linux redis集群安装 Redis 3.2.1集群搭建
一、概述 Redis3.0版本之后支持Cluster. 1.1、redis cluster的现状 目前redis支持的cluster特性: 1):节点自动发现 2):slave->master 选举,集群容错 3):Hot resharding:在线分片 4):进群管理:cluster xxx 5):基于配置(nodes-port.conf)...
redis4.0.1集群安装部署
安装环境 序号 项目 值 1 OS版本 Red Hat Enterprise Linux Server release 7.1 (Maipo) 2 内核版本 3.10.0-229.el7.x86_64 3 Redis redis-4.0.1 ...
机器视觉
4,514
社区成员
15,347
社区内容
发帖
与我相关
我的任务
机器视觉
图形图像/机器视觉
复制链接
扫一扫
分享
社区描述
图形图像/机器视觉
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章