C#如何得到一个Image对象所占的字节数?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#如何得到一个Image对象所占的字节数?相关的知识,希望对你有一定的参考价值。
Image img = Image.FromFile(url);有个这样的对象,我怎么知道img所占的字节?
Image对象只是存在于内存中的,而且是二进制的数据,只有生成了图片保存到硬盘中后才有确定的大小,因为不同的算法生成的大小是不一样的,不过你可以试试看Image对象占用的字节数,然后和实际生成文件比较一下大小会不会差别很大,如果不会的话就可以当成一个近似值,或者说你也可以保存成文件,获取大小后再把文件删除,如果图片不是大的很离谱的话这种方式也不会很慢的 参考技术A 方法应该是,生成图之后,再用图的地址,用IO去检查文件的大小.追问转为byte数组然后得到length不可以吗?
追答转化为字节数组?恩,是可以的,我之前考虑的是关于图片的上传于下载,因为关于图片的操作会经常用到这些功能,所以我一看到这个就想到关于文件大小的限制与传输!
参考技术B //将文件转为二进制数据public byte[] picFile2bytes(string picFilePath)
FileStream fs = new FileStream(picFilePath, FileMode.Open, FileAccess.Read);
byte[] bytePhoto = new byte[fs.Length];
fs.Read(bytePhoto, 0, (int)fs.Length);
fs.Close();
return bytePhoto;
本回答被提问者采纳
指针变量所占的字节数
/*
sizeof(数据类型),返回值就是该数据类型所占的字节数
例子: sizeof(int) = 4
sizeof(char) = 1
sizeof(double) = 8
sizeof(变量名),返回值就是该变量所占的字节数
总结:
一个指针变量,无论它指向的变量占几个字节,该指针变量本身只占4个字节
*/
#include <stdio.h>
int main(void)
{
int a;
char b;
double c;
int * p = &a;
char * q = &b;
double * r = &c;
printf("%d %d %d
", sizeof(double *), sizeof(q), sizeof(r));
return 0;
}
以上是关于C#如何得到一个Image对象所占的字节数?的主要内容,如果未能解决你的问题,请参考以下文章