我想將R8G8B8A8圖像轉換爲R8G8B8圖像,我現在得到的是一個圖像,但有很多掃描線,我每個像素的字節數是4個字節,32位。複製R8G8B8A8圖像到R8G8B8
圖像緩衝區的類型是無符號字符[寬度*高度* 4]是源和目標是無符號字符[寬*高* 3]。
int j = 0;
int i = 0;
for (int k = 0; k < (width*height); k++)
{
for(int b = 0; b < 3; b++)
{
dst[i + b] = src[j + b];
}
i+=3;
j+=4;
}
什麼是你遇到的問題? – molbdnilo
根據平臺,可能會有更簡單的方法來做到這一點,我知道Windows Imaging組件會爲您做到這一點。我會想象libpng會做類似的事情(快速谷歌搜索顯示'PNG_TRANSFORM_STRIP_ALPHA'是一件東西) – Mgetz
@molbdnilo:它有點低效(無關的循環條件,可以用'i == 3 * width *這個代碼在技術上是正確的,假設打包佈局 – MSalters