gpt4 book ai didi

c# - 在 C# 中将像素数组转换为图像

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:44:00 26 4
gpt4 key购买 nike

我的 C# 程序中有一个 int 像素数组,我想将它转换成图像。问题是我正在将程序的 Java 源代码转换为等效的 C# 代码。在 java 中,该行读取将 int 像素数组显示到图像中:

Image output = createImage(new MemoryImageSource(width, height, orig, 0, width));

谁能告诉我 C# 的等价物?

这里的 orig 是 int 像素数组。我搜索了 Bitmap 类,有一个名为 SetPixel 的方法,但问题是它需要一个 x,y 坐标数。但是我的代码中有一个 int 像素数组。另一个奇怪的事情是我的 orig 数组有负数,它们与 255 相去甚远。在 Java 中,情况相同(这意味着 C# 和 Java 中的数组具有相同的值)并且这些值在 Java 中工作正常。

但我无法将该行翻译成 C#。请帮忙。

最佳答案

使用 WPF,您可以直接从数组创建位图(图像)。然后,您可以对该图像进行编码、显示或使用它:

int width = 200;
int height = 200;

//
// Here is the pixel format of your data, set it to the proper value for your data
//
PixelFormat pf = PixelFormats.Bgr32;
int rawStride = (width * pf.BitsPerPixel + 7) / 8;

//
// Here is your raw data
//
int[] rawImage = new int[rawStride * height / 4];


//
// Create the BitmapSource
//
BitmapSource bitmap = BitmapSource.Create(
width, height,
96, 96, pf, null,
rawImage, rawStride);

关于c# - 在 C# 中将像素数组转换为图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/392324/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com