修改BMP图像头,增加图像的高度和宽度

修改BMP图像头,增加图像的高度和宽度

因此,在一些密码分析过程中,我发现有必要修改特定 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

相关内容