我想生成一个二维像素数组,然后将其保存在.bmp文件中。我读过关于位图的内容,但我不完全了解如何将Integer的2D数组转换为位图图像。
这就是我已经找到并尝试制作的内容
// Create array of integers
int width = 1024;
int height = 768;
int[] integers = new int[width * height];
// Fill array with random values
Random random = new Random();
for (int i = 0; i < integers.Length; ++i)
{
integers[i] = random.Next(Int32.MaxValue);
}
// Copy into bitmap
Bitmap bitmap;
unsafe
{
fixed (int* intPtr = &integers[0])
{
bitmap = new Bitmap(width, height, width, PixelFormat.Format32bppRgb, new IntPtr(&integers[0]));
}
}
但是我仍然不理解这部分
// Copy into bitmap
Bitmap bitmap;
unsafe
{
fixed (int* intPtr = &integers[0])
{
bitmap = new Bitmap(width, height, width, PixelFormat.Format32bppRgb, new IntPtr(&integers[0]));
}
}
答案 0 :(得分:1)
好老编译器......你试过他的建议吗?
在文件顶部添加此行:
using System.Drawing.Bitmap;
如果您想要更多:请查看msdn。
顺便说一句,您可以右键单击Bitmap
并选择Resolve
来执行此操作。这是一种简单的方法。
要将图像保存到文件中,可以使用不同的方法。这取决于你是哪个平台。我认为您应该查看WriteableImageEx或here或here