0
void region_set(uint8_t array[],
unsigned int cols,
unsigned int rows,
unsigned int left,
unsigned int top,
unsigned int right,
unsigned int bottom,
uint8_t color)
{
for (int x = 0; x < ((right-left)*(bottom-top)); x++)
{
array[x] = color;
}
}
此代碼的功能是將某個圖像數組的區域中的每個像素設置爲彩色。該區域包含[left,right-1]的所有列,以及[top,bottom-1]中的所有行。我嘗試過測試程序,但是當我測試它時,我的圖像最終將圖像的整個寬度設置爲該顏色。當我嘗試更改頂部,左側,右側或底部時,它只會改變圖像的高度。但是,左右應該會改變圖像的寬度。我的心態是(右 - 左)*(底部 - 頂部),這將影響該地區的所有像素。將圖像中的區域更改爲「彩色」c
我用來做測試,這是:
region_set (img, 256, 256, 100, 80, 156, 160, 128);
我不知道爲什麼我總是像整個寬度設置爲顏色和變化的左,上,右或底部僅設置高度。任何人都可以幫助我嗎?