在 C# 中创建一个空的 BitmapSource
创建空(0x0 px 或 1x1 px 且完全透明)C# 中的 BitmapSource 实例,在不应渲染任何内容时使用。
What is the fastest (few lines of code and low resource usage) way to create an empty (0x0 px or 1x1 px and fully transparent) BitmapSource instance in c# that is used when nothing should be rendered.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
感谢 Arcutus 提示 我现在有了这个(效果很好):
如果我把这个图像变小,我会得到一个 ArgumentException。我不知道为什么我不能创建 2x2px 的更小的图像。
Thanks to Arcutus hint I have this now (wich works fine):
If I make this image smaller I get an ArgumentException. I have no clue why I can't create a smaller image that 2x2px.
使用创建方法。
示例从 MSDN 盗用::)
Use the Create method.
Example stolen from MSDN: :)
在不分配大型托管字节数组的情况下创建此类图像的方法是使用 TransformedBitmap。
The way to create such an image without allocating a big managed byte array is to use
TransformedBitmap
.最小的 BitmapSource 可以这样生成:
The most minimal BitmapSource can be generated like this:
另一种方法是创建从 BitmapSource 派生的 BitmapImage 类的实例:
BitmapSource emptySource = new BitmapImage();
Another way is to create an instance of a BitmapImage class which is derived from BitmapSource:
BitmapSource emptySource = new BitmapImage();
看看这个。它适用于任何像素格式
Just take a look at this. It works for any Pixelformat