图像处理基本方法-lua语言生成纯色BMP文件
之前使用过c、java、python、go、R语言实现过生成纯色BMP图片的功能。
现在由lua语言完成该功能。其他的一些背景和环境就不在赘述,主要还是在ubuntu下使用lua语言环境完成。
1、lua语言简介
Lua是一个小巧的脚本语言。它是巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de Janeiro)里的一个由Roberto Ierusalimschy、Waldemar Celes 和 Luiz Henrique de Figueiredo三人所组成的研究小组于1993年开发的。 其设计目的是为了通过灵活嵌入应用程序中从而为应用程序提供灵活的扩展和定制功能。Lua由标准C编写而成,几乎在所有操作系统和平台上都可以编译,运行。Lua并没有提供强大的库,这是由它的定位决定的。所以Lua不适合作为开发独立应用程序的语言。Lua 有一个同时进行的JIT项目,提供在特定平台上的即时编译功能。
Lua脚本可以很容易的被C/C++ 代码调用,也可以反过来调用C/C++的函数,这使得Lua在应用程序中可以被广泛应用。不仅仅作为扩展脚本,也可以作为普通的配置文件,代替XML,ini等文件格式,并且更容易理解和维护。Lua由标准C编写而成,代码简洁优美,几乎在所有操作系统和平台上都可以编译,运行。一个完整的Lua解释器不过200k,在所有脚本引擎中,Lua的速度是最快的。这一切都决定了Lua是作为嵌入式脚本的最佳选择。
2、实现代码
--/*******************************************************
-- * file:testbmp.lua
-- * date:2021-05-11
-- * version:1.0.0.1
-- * author:jack8126
-- * description: create bmp file
-- *******************************************************/
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;
function hex2str