图像处理基本方法-python语言生成纯色BMP文件

图像处理基本方法-python语言生成纯色BMP文件

之前使用过c、java、go语言实现过生成纯色BMP图片的功能。

现在由python语言完成该功能。其他的一些背景和环境就不在赘述,主要还是在ubuntu下使用python语言环境完成。

1、python语言简介

Python由荷兰数学和计算机科学研究学会的Guido van Rossum 于1990 年代初设计,作为一门叫做ABC语言的替代品。 Python提供了高效的高级数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言,随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。
Python解释器易于扩展,可以使用C或C++(或者其他可以通过C调用的语言)扩展新的功能和数据类型。
Python 也可用于可定制化软件中的扩展程序语言。Python丰富的标准库,提供了适用于各个主要系统平台的源码或机器码。

2、代码实现

#/*******************************************************
# * file:testbmp.py
# * date:2021-05-09
# * version:1.0.0.1
# * author:jack8126
# * description: create bmp file
# *******************************************************/

import struct


width = 1920;
height = 1080;
bit = 3;
Red = 255;
Green = 255;
Blue = 0;

bfType = 'BM'
bfSize = (width*height*bit + 54);
bfReserved1 = 0;
bfReserved2 = 0;
bfOffBits = 54;

biSize = 40
biWidth = width;
biHeight = height;
biPlanes = 1;
biBitCount = bit * 8;
biCompression = 0
biSizeImage = 0;
biXPelsPerMeter = 3780;
biYPelsPerMeter = 3780;
biClrUsed = 0;
biClrImportant = 0;

bmpDataSize = bfSize - 54;

# open file
file = open("test-python.bmp", 'wb+')

# reconstruct File Header
file.write(bfType)

# i = 4 bytes
# h = 2 bytes
# B = 1 bytes
file.write(struct.pack('i',bfSize))
file.write(struct.pack('h',bfReserved1))
file.write(struct.pack('h',bfReserved2))
file.write(struct.pack('i',bfOffBits))

# reconstruct bmp header
file.write(struct.pack('i',biSize))
file.write(struct.pack('i',biWidth))
file.write(struct.pack('i',biHeight))
file.write(struct.pack('h',biPlanes))
file.write(struct.pack('h',biBitCount))
file.write(struct.pack('i',biCompression))
file.write(struct.pack('i',biSizeImage))
file.write(struct.pack('i',biXPelsPerMeter))
file.write(struct.pack('i',biYPelsPerMeter))
file.write(struct.pack('i',biClrUsed))
file.write(struct.pack('i',biClrImportant))

# reconstruct pixels
for x in range(0, height):
    for y in range(0, width):
        file.write(struct.pack('B',Blue))
        file.write(struct.pack('B',Green))
        file.write(struct.pack('B',Red))

# close file
file.close()




3、执行程序

python testbmp.py 

在这里插入图片描述

要想修改纯色bmp图片的分辨率和颜色值,修改代码中的参数即可:

width = 1920;
height = 1080;
bit = 3;
Red = 255;
Green = 255;
Blue = 0;

4、参考资料

https://blog.csdn.net/jackyzhousales/article/details/78030847

https://blog.csdn.net/jack8126/article/details/116331956

https://blog.csdn.net/jack8126/article/details/116466075

https://blog.csdn.net/jack8126/article/details/116505438

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值