C# .NET 动态图像库?

发布于 2024-11-25 04:15:21 字数 240 浏览 1 评论 0原文

您好,我正在寻找从数组[500][500](500x500像素)动态创建图像 每个数组项都有像素颜色数据,

有谁知道哪个 .NET 库/接口最适合这个?能给我指出正确的方向吗?我需要创建/保存文件。

另外,该图像是来自许多图像的数据的组合,我想知道是否可以使用各种格式,或者我是否需要首先将小图像转换为一种格式,

另外哪种图像格式最好使用(最兼容?)JPG/PNG24? (适用于网络)

感谢您的投入!

Hi there I am looking to create a image dynamically from an array[500][500] (500x500pixel)
Each array item has the pixel color data,

Does anyone know which .NET library/interface would be best for this? Could point me in right direction? I need to create/save the file.

Also, The image is a composite of the data from many images, I am wondering if it is possible to use various formats, or if I need to first convert the small images into one format,

Also which image format is best to use (the most compatible?) JPG/PNG24? (for web)

Thanks for your input!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

成熟稳重的好男人 2024-12-02 04:15:21

如果你可以在你的网站中使用不安全的代码(换句话说,你的代码在完全信任的情况下运行),只需使用 Bitmap 类,并使用 LockBits 方法,那么你就可以像在 C++ 中一样使用指针来访问像素(提示:创建一个 Pixel 结构来保存 RGB 值)。您将看到 GetPixel 和 SetPixel 方法,永远不要使用它们。性能很糟糕,比使用指针慢 100 多倍。只需使用 BitmapData.Scan0.ToPointer() ,然后使用 for 进行迭代即可。

if you can use unsafe code in your website (in other words, your code runs under full trust), just use the Bitmap class, and use the LockBits method, then you can use pointers just like in C++ to access the pixels (tip: create a Pixel struct to hold RGB values). You will see GetPixel and SetPixel methods, DO NOT EVER use them. The performance is terrible, more than 100 times slower than using pointers. Just go with BitmapData.Scan0.ToPointer() and then iterate with for.

泡沫很甜 2024-12-02 04:15:21

您可以使用 System.Drawing.Bitmap 类。

如果您能够使用不安全代码,请使用指针和 BitmapData 而不是 设置像素

var bitmap = new Bitmap(500, 500);

// Update the pixels with values in you array...

bitmap.Save("myfilename.jpg", ImageFormat.Jpeg);

You could use the System.Drawing.Bitmap class.

If you are able to use unsafe code, construct the bitmap using pointers and BitmapData rather than SetPixel

var bitmap = new Bitmap(500, 500);

// Update the pixels with values in you array...

bitmap.Save("myfilename.jpg", ImageFormat.Jpeg);
小镇女孩 2024-12-02 04:15:21

格式取决于您的需要(例如 png 可以支持 transaprency,jpg 则不支持)。

您可以从 System.Drawing.Bitmap 开始。

The format depends on what you need (for example png can support transaprency, jpg does not).

You could start wich System.Drawing.Bitmap .

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文