簡體   English   中英

將數組寫入位圖C ++

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM