C# 图像的字节[]表示实际上是什么意思?
我将一个1像素的图像加载到位图中,然后将其转换为一个字节[]C# 图像的字节[]表示实际上是什么意思?,c#,image,bitmap,C#,Image,Bitmap,我将一个1像素的图像加载到位图中,然后将其转换为一个字节[] _Image = "test.jpg"; Bitmap testImage = new Bitmap(_Image); ImageConverter converter = new ImageConverter(); byte[] byteTestImage = (byte[])converter.ConvertTo(testImage
_Image = "test.jpg";
Bitmap testImage = new Bitmap(_Image);
ImageConverter converter = new ImageConverter();
byte[] byteTestImage = (byte[])converter.ConvertTo(testImage,typeof(byte[]));
单个像素具有RGB值(255、116、25)。每一个都可以用一个字节表示,
所以我假设byteTestImage会与此对应。但是,byteTestImage总共有635个元素
这些字节与1像素图像之间的关系是什么?位图中的单个像素不总是采用RGB格式。这完全取决于格式。你可以有一个alfa组件,你可以有一个调色板,像素的martix引用和更多
签出:您加载的文件是JPG。它具有某些附加信息(宽度、高度、EXIF数据),而不仅仅是颜色。看
尝试在十六进制编辑器中打开它。您甚至可以读取有关用于拍摄的相机的信息。请查看。文件本身不仅仅是RGB元素。它还可以具有一个Alpha通道(另一个字节),并具有文件头信息。例如,标题信息表示它是JPG。当你考虑它的时候,它一定存在,否则一个图像怎么知道它有多高或多宽呢?所以如果我有一个像素值的3d数组,我想把它转换成位图,我会在位图中单独设置像素。我无法将数组转换为字节[],因为我没有其他信息。@user1475729:JPEG只是位图支持的一种格式。有很多方法可以将数据转换成位图。