def bmp_to_hex(image_path):
读取BMP图片文件
with open(image_path, "rb") as f:
bmp_data = f.read()
# 获取像素数据的起始位置
pixel_data_offset = int.from_bytes(bmp_data[10:14], byteorder="little")
# 获取图片的宽度和高度
width = int.from_bytes(bmp_data[18:22], byteorder="little")
height = int.from_bytes(bmp_data[22:26], byteorder="little")
# 每个像素占用的字节数
bytes_per_pixel = 3 # 假设为24位色彩
hex_data = []
# 遍历像素数据,转换为十六进制格式
for y in range(height):
for x in range(width):
# 计算像素在像素数据中的偏移量
offset = pixel_data_offset + (height - y - 1) * width * bytes_per_pixel + x * bytes_per_pixel
# 从像素数据中获取RGB颜色值
b = bmp_data[offset]
g = bmp_data[offset + 1]
r = bmp_data[offset + 2]
# 将RGB颜色值转换为十六进制格式,并添加到列表中
hex_color = "#{:02X}{:02X}{:02X}".format(r, g, b)
hex_data.append(hex_color)
return hex_data
def main():
读取JMP文件中的BMP图片路径列表
bmp_file_paths = [
"path/to/image1.bmp",
"path/to/image2.bmp",
# 添加更多BMP图片路径...
]
# 将每张BMP图片转换为十六进制代码,并保存到JMP文件中
with open("output.jmp", "w") as jmp_file:
for bmp_file_path in bmp_file_paths:
hex_data = bmp_to_hex(bmp_file_path)
jmp_file.write("\n".join(hex_data))
jmp_file.write("\n") # 添加换行符,区分不同图片的代码
if name == "main":
main()
生成jmp格式的代码.txt
(1.58 KB, 下载次数: 1)
|