zoukankan      html  css  js  c++  java
  • WPF 创建空白图片

    本文告诉大家如何在 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 欢迎小伙伴访问

  • 相关阅读:
    vue中的$nextTick()
    对SPA(单页面应用)的总结
    函数节流和函数防抖
    前端路由
    let、const
    深拷贝与浅拷贝
    小白浅谈Ajax基础
    关于BFC布局的那些事
    关于BFC的那些事
    Sass基础知识及语法
  • 原文地址:https://www.cnblogs.com/lindexi/p/13656976.html
Copyright © 2011-2022 走看看