在 Compact Framework 中创建单色位图
我需要使用表示单色位图数据的原始字节创建一个 Bitmap 对象。 在完整的框架上,我正在执行以下操作:
Bitmap bmp = new Bitmap(width, height, PixelFormat.Format8bppIndexed)
BitmapData bmpData = bmp.LockBits(new Rectangle(0, 0, bmp.Width, bmp.Height), ImageLockMode.WriteOnly, bmp.PixelFormat);
// Write my data into bmpData.Scan0
bmp.UnlockBits(bmpData);
不幸的是,Compact Framework 没有 PixelFormat.Format8bppIndexed 枚举值。 那么我怎样才能在CF上实现这一点呢? 我唯一能想到的就是自己手动创建位图文件头并将其与数据一起写入 Stream
中,然后用该 Bitmap 对象构造一个
。Bitmap
对象>流
有想法吗?
I need to create a Bitmap
object using raw bytes representing monochrome bitmap data. On the full framework, I am doing the following:
Bitmap bmp = new Bitmap(width, height, PixelFormat.Format8bppIndexed)
BitmapData bmpData = bmp.LockBits(new Rectangle(0, 0, bmp.Width, bmp.Height), ImageLockMode.WriteOnly, bmp.PixelFormat);
// Write my data into bmpData.Scan0
bmp.UnlockBits(bmpData);
Unfortunately, the Compact Framework doesn't have the PixelFormat.Format8bppIndexed
enum value. So how can I accomplish this on the CF? The only thing I can think of is to manually create the bitmap file header myself and write it along with the data into a Stream
and then construct a Bitmap
object with that Stream
.
Ideas?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
以下是一些可能有帮助的代码:
要将其保存到文件中,请执行以下操作:
Here's some code that might help:
To save it to a file do the following:
在 OpenNetCf 智能设备框架库(有免费版本)中,他们有自己的 Bitmap 类(BitmapEx )。 虽然我还没有尝试过您想要做的事情,但您可以查看它们的实现。 (注意:我必须在下周内执行此操作,因此我可能会稍后更新)
In the OpenNetCf Smart Device Framework library (there is a free version), they have their own Bitmap class (BitmapEx). While I haven't tried what you are trying to do, you might check out their implementation. (note: I do have to do this in the next week, so I will probably update this later)