因此,在一些密码分析过程中,我发现有必要修改特定 BMP 图像的 DIB 标头,以便我可以增加图像的高度和大小。
以下是我所找到的信息:
typedef struct tagBITMAPINFOHEADER {
DWORD biSize;
LONG biWidth;
LONG biHeight;
WORD biPlanes;
WORD biBitCount;
DWORD biCompression;
DWORD biSizeImage;
LONG biXPelsPerMeter;
LONG biYPelsPerMeter;
DWORD biClrUsed;
DWORD biClrImportant;
} BITMAPINFOHEADER, *PBITMAPINFOHEADER;
问题是,我对此了解不够,无法修改此 BMP 图像的十六进制数据以增加高度和大小。有人能告诉我如何将高度和宽度增加 100 倍吗?我不需要使用程序或其他任何东西来执行此操作,只要我知道在哪里,我就可以手动更改它。
答案1
可以插入/扩展像素数据。也就是说,水平和垂直复制每个像素,然后将 BITMAPINFOHEADER 和 BITMAPFILEHEADER 更改为新值。但是,必须编写一个程序,一个简单程序,因为手动插入是不切实际的。下面的链接是一个 YouTube 视频,它提供了一些有关调整大小和 BITMAPINFOHEADER、BITMAPFILEHEADER 的背景知识: https://www.youtube.com/watch?v=g8LEbJapnj8