我正在运行以在没有任何库的情况下在 C++ 中显示原始的 RGB 图像。当我输入正方形图像(例如:512x512)时,我的程序可以完美地显示图像,但它不能在 not_square 大小的图像中(例如:350x225)。我知道我需要填充这种情况,然后我试图找到相同的情况,但人们如何填充他们的图像对我来说没有意义。
如果有人可以告诉我如何填充,我将非常感谢。下面是我从 Raw 中为 RGB 所做的。
void CImage_MyClass::Class_MakeRGB(void)
{
m_BMPheader.biHeight = m_uiHeight;
m_BMPheader.biWidth = m_uiWidth;
m_pcBMP = new UCHAR[m_uiHeight * m_uiWidth * 3];
//RGB Image
{
int ind = 0;
for (UINT y = 0; y < m_uiHeight; y++)
{
for (UINT x = 0; x < m_uiHeight*3; x+=3)
{
m_pcBMP[ind++] = m_pcIBuff[m_uiHeight - y -1][x+2];
m_pcBMP[ind++] = m_pcIBuff[m_uiHeight - y -1][x+1];
m_pcBMP[ind++] = m_pcIBuff[m_uiHeight - y -1][x];
}
}
}
}