[英]Writing array into bitmap c++
我在再次將數組寫入位圖中時遇到麻煩,因此基本上我從.bmp文件讀取數據,在此我獲得像素數據,並且我想使B和R = 0,所以這是我的代碼:
int row_padded = ( Picture.biWidth*3 + 3) & (~3);
unsigned char* data = new unsigned char [row_padded];
unsigned char tmp;
for(int i = 0; i < Picture.biHeight; i++)
{
fread(data, sizeof(unsigned char), row_padded, plik);
for(int j = 0; j < Picture.biWidth*3; j += 3)
{
data[j] = 0;
data[j+2] = 0;
}
}
現在,當我的B和R = 0時,我想再次將其保存到同一文件中,因此我正在使用:
for(int j = 0; j< Picture.biHeight; j++)
{
fwrite(data,1,Picture.biWidth, f);
}
但沒有任何效果。
fwrite(data,1,Picture.biWidth, f)
必須為fwrite(data,1,row_padded, f)
否? 否則只寫入字節的前三分之一
注意:根據定義, sizeof(unsigned char)
為1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.