C# .NET 动态图像库?
您好,我正在寻找从数组[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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
如果你可以在你的网站中使用不安全的代码(换句话说,你的代码在完全信任的情况下运行),只需使用 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 withfor
.您可以使用 System.Drawing.Bitmap 类。
如果您能够使用不安全代码,请使用指针和 BitmapData 而不是 设置像素
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
格式取决于您的需要(例如 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
.