我有一个ushort像素数据的数组,需要将其保存为jpeg文件。从我所发现的信息来看,可以通过使用
Image.Save(path, ImageFormat.Jpeg);
但我不知道如何将ushort数据放入Image对象中。我已经找到了使用字节数组的方法,但没有找到使用ushort的方法。 我已经花费了太多时间来解决这个问题,现在我向强大的StackOverflow求助,我该怎么做?
编辑: 抱歉,这些ushorts是16位灰度值。
我有一个ushort像素数据的数组,需要将其保存为jpeg文件。从我所发现的信息来看,可以通过使用
Image.Save(path, ImageFormat.Jpeg);
但我不知道如何将ushort数据放入Image对象中。我已经找到了使用字节数组的方法,但没有找到使用ushort的方法。 我已经花费了太多时间来解决这个问题,现在我向强大的StackOverflow求助,我该怎么做?
编辑: 抱歉,这些ushorts是16位灰度值。
Bitmap
,将像素绘制到上面,然后保存。
就像这样:
var bitmap = new Bitmap(sizeX, sizeY, Imaging.PixelFormat.Format16bppGrayScale)
for (y = 0; ...)
for (x = 0; ...)
{
bitmap.SetPixel(x, y, color information from ushort array);
}
bitmap.Save("filename.jpg", ImageFormat.Jpeg);
public static void SaveJpg(string fileName,int sizeX,int sizeY,ushort [] imData)
{
var bitmap = new Bitmap(sizeX, sizeY, PixelFormat.Format48bppRgb);
int count = 0;
for (int y = 0; y < sizeY; y++)
{
for (int x = 0; x < sizeX; x++)
{
bitmap.SetPixel(x, y, Color.FromArgb(imData[count], imData[count], imData[count]));
count++;
}
}
bitmap.Save(fileName, ImageFormat.Jpeg);
}
我相信您想要使用 Bitmap 类,它是 Image 的子类。这个 MSDN 参考资料可能会有所帮助。