diff --git a/main.py b/main.py index 3a810cf..35d4938 100644 --- a/main.py +++ b/main.py @@ -35,7 +35,7 @@ def warn(code): ################## 数据输入 Start ################## -if (len(sys.argv) not in [3, 4, 5, 6]): +if (len(sys.argv) not in [4, 5, 6]): error(1) # 输入数据 @@ -131,22 +131,22 @@ def sizeByte(size, length): if (imgBytes[0] != 66 or imgBytes[1] != 77): error(6) -fileSize = byteSize(2, 4) #文件头中的文件大小 -dataStart = byteSize(10, 4) #文件头中的数据开始字节 +fileSize = byteSize(2, 4) # 文件头中的文件大小 +dataStart = byteSize(10, 4) # 文件头中的数据开始字节 # bmp 文件头 -headerSize = byteSize(14, 4) #该头结构的大小(40字节) -width = byteSize(18, 4) #位图宽度,单位为像素(有符号整数) -height = byteSize(22, 4) #位图高度,单位为像素(有符号整数) -nbplan = byteSize(26, 2) #色彩平面数;只有1为有效值 -bpp = byteSize(28, 2) #每个像素所占位数,即图像的色深。典型值为1、4、8、16、24和32 -compression = byteSize(30, 4) #所使用的压缩方法,可取值见下表。 -imageSize = byteSize(34, 4) #图像大小。指原始位图数据的大小(详见后文),与文件大小不是同一个概念。 -wppm = byteSize(38, 4) #图像的横向分辨率,单位为像素每米(有符号整数) -hppm = byteSize(42, 4) #图像的纵向分辨率,单位为像素每米(有符号整数) -colorsNum = byteSize(46, 4) #调色板的颜色数,为0时表示颜色数为默认的2^色深个 -icolorsNum = byteSize(50, 4) #重要颜色数,为0时表示所有颜色都是重要的;通常不使用本项 -colorsBoard = imgBytes[54:dataStart] #调色板 +headerSize = byteSize(14, 4) # 该头结构的大小(40字节) +width = byteSize(18, 4) # 位图宽度,单位为像素(有符号整数) +height = byteSize(22, 4) # 位图高度,单位为像素(有符号整数) +nbplan = byteSize(26, 2) # 色彩平面数;只有1为有效值 +bpp = byteSize(28, 2) # 每个像素所占位数,即图像的色深。典型值为1、4、8、16、24和32 +compression = byteSize(30, 4) # 所使用的压缩方法,可取值见下表。 +imageSize = byteSize(34, 4) # 图像大小。指原始位图数据的大小(详见后文),与文件大小不是同一个概念。 +wppm = byteSize(38, 4) # 图像的横向分辨率,单位为像素每米(有符号整数) +hppm = byteSize(42, 4) # 图像的纵向分辨率,单位为像素每米(有符号整数) +colorsNum = byteSize(46, 4) # 调色板的颜色数,为0时表示颜色数为默认的2^色深个 +icolorsNum = byteSize(50, 4) # 重要颜色数,为0时表示所有颜色都是重要的;通常不使用本项 +colorsBoard = imgBytes[54:dataStart] # 调色板 if (not (bpp in [24, 32])): error(7) @@ -278,13 +278,13 @@ if (angle in [0, 180]): rowLength = floor(new_width * bpp / 8) while (rowLength % 4 != 0 or rowLength == 0): rowLength += 1 - new_fileSize = 54 + rowLength * new_height #文件头中的文件大小 + new_fileSize = 54 + rowLength * new_height # 文件头中的文件大小 new_imageSize = rowLength * new_height else: rowLength = floor(new_height * bpp / 8) while (rowLength % 4 != 0 or rowLength == 0): rowLength += 1 - new_fileSize = 54 + rowLength * new_width #文件头中的文件大小 + new_fileSize = 54 + rowLength * new_width # 文件头中的文件大小 new_imageSize = rowLength * new_width # 新文件头 @@ -453,4 +453,4 @@ with open(output_file, 'wb') as f: for _ in tqdm(range(len(newimgBytes)), "写出图片中"): pass -################## 写出文件 End ################## \ No newline at end of file +################## 写出文件 End ##################