本文告诉大家如何在 WPF 创建空白图片,可以创建1像素图片
可以使用 BitmapSource 的 Create 方法创建空白图片
// 限制不能创建小于2x2的图片
const int width = 2;
const int height = width;
BitmapSource.Create(width, height, 96, 96,
PixelFormats.Indexed1,
new BitmapPalette(new List<Color> { Colors.Transparent }),
new byte[width * height], 1);
上面这个方法只有创建 2x2 的图片,而创建1像素图片可以使用下面方法
const int width = 1;
const int height = width;
const double dpi = 96;
// R G B 三个像素
const int colorLength = 3;
var image = BitmapSource.Create(width, height, dpi, dpi, PixelFormats.Bgr24, null, new byte[colorLength],
colorLength);
空白图片保存到文件,使用png和jpg等几个格式里面,文件的大小如下
.png byte count = 119
.jpg byte count = 631
.bmp byte count = 58
.gif byte count = 41
也就是说存放为 gif 对于这张图片最省文件体积
以下是 bmp 文件的二进制
0x42,0x4D,0x3A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x36,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x01,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC4,0x0E,0x00,0x00,0xC4,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
本文代码放在 github 欢迎小伙伴访问
本文会经常更新,请阅读原文: https://dotnet-campus.github.io//post/WPF-%E5%88%9B%E5%BB%BA%E7%A9%BA%E7%99%BD%E5%9B%BE%E7%89%87.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。
本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名 lindexi (包含链接: https://dotnet-campus.github.io/ ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系 。