首页 新闻 会员 周边

c#获取图片宽和高的问题

0
悬赏园豆:5 [已关闭问题] 关闭于 2016-09-18 14:29

获取图片的宽和高之前一般都要先读取图片,然后才能获取图片的宽和高,这样加载很多图片的时候很影响获取信息的速度啊,我只想要宽和高,有没有什么办法只读取宽高不读取图片的办法,求大大们指教

infinite_loop的主页 infinite_loop | 初学一级 | 园豆:184
提问于:2016-09-07 17:01
< >
分享
所有回答(4)
0

如果是在Windows下,右键单击查看图片的属性,在详细信息一栏里面是可以看到图片的宽高的,不知道用FileInfo能不能读取出来。。。

顾晓北 | 园豆:10844 (专家六级) | 2016-09-07 17:04

亲,我不是肉眼查看文件大小,是写程序时候读取图片大小。。。

支持(0) 反对(0) infinite_loop | 园豆:184 (初学一级) | 2016-09-07 17:16

@infinite_loop: 我说的也不是文件大小。。。你在Windows下难道看不到图片的宽高么?

那个尺寸,只是不知道怎么读取。。。或者说,能不能读取

支持(0) 反对(0) 顾晓北 | 园豆:10844 (专家六级) | 2016-09-07 17:19
0

把图片图片 读取为 二进制 或者16进制 里面有数据~

ffd8 ffe0 0010 4a46 4946 0001 0101 0060
0060 0000 ffdb 0043 0006 0405 0605 0406
0605 0607 0706 080a 100a 0a09 090a 140e
0f0c 1017 1418 1817 1416 161a 1d25 1f1a
1b23 1c16 1620 2c20 2326 2729 2a29 191f
2d30 2d28 3025 2829 28ff db00 4301 0707

 

头几行里面肯定是有 现在忘记了 以前研究过~

Jack Su Sparrow | 园豆:153 (初学一级) | 2016-09-07 17:45

这样还是需要读取图片啊,没必要那么麻烦,已经读出图片的话,直接image.Width和image.Height就能获取了

支持(0) 反对(0) infinite_loop | 园豆:184 (初学一级) | 2016-09-08 08:33
0

转换为   Bitmap 。

 Bitmap image;
image.Width, image.Height
alci | 园豆:233 (菜鸟二级) | 2016-09-08 10:57

这种方法实际上已经读取了图片了,我想要的是只读尺寸,不读图片

支持(0) 反对(0) infinite_loop | 园豆:184 (初学一级) | 2016-09-08 10:59

第一个园友提出的方法感觉可行,不过不知道实现的时候各种处理的开销会不会比直接读取图片的开销大

支持(0) 反对(0) infinite_loop | 园豆:184 (初学一级) | 2016-09-08 11:03
0

我有些不理解,你既然要用到这个图片,那么它就必须要加载,你不加载也没法显示啊,还有就是图片本身就是一种数据类型,你不加载怎么获取里面的数据?

筱申 | 园豆:223 (菜鸟二级) | 2016-09-14 17:40

我的想法是预加载图片,在读取之前根据图片大小分配位置,加载之前不关心图片内容,这样加载速度会更快,要是你的图片一张大小是10M以上(甚至更大),如果加载每张图片的时候都要读取图片内容,可以想象大量图片的时候多慢

支持(0) 反对(0) infinite_loop | 园豆:184 (初学一级) | 2016-09-18 14:23

@infinite_loop: 我觉得大批量的图片可以选择先加载低质量(尺寸不变)的图用来占位,然后再加载高清图片加载完成后替换~

支持(1) 反对(0) 筱申 | 园豆:223 (菜鸟二级) | 2016-09-18 14:31

@筱申: 谢谢回复,我是在做图片布局,想法是先根据图片大小,分配pictureBox的大小位置,分配好一排pictureBox之后在pictureBox中插入图片缩略图,然后再分配下一排pictureBox。做出类似百度图片的布局的效果。暂时没找到合适的方法来跳过读取图片直接读取图片尺寸,我得重新考虑我的布局方法和加载方法了,你提的方法很有用,可惜问题已经关闭,不能给你豆豆了,抱歉。

支持(0) 反对(0) infinite_loop | 园豆:184 (初学一级) | 2016-09-18 14:49

@infinite_loop: 这个没关系,我还想说的是,像百度那种他们肯定是将图片的相关数据都存下来了包括图片的尺寸什么的,所以呢~你也可以这样做~将图片信息和图片名称一起存起来,布局的时候直接取数据就可以了,不需要图片加载完。

支持(0) 反对(0) 筱申 | 园豆:223 (菜鸟二级) | 2016-09-18 14:55
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册