我想請問24bit BMP縮小 要用C語言寫如何實現阿
我不是要妳幫我寫程式 是要告訴我 原理 還是他有公式阿
頭檔那邊不用說了 我是想知道 RGB那邊的處理
2007-02-05 08:53:32 · 1 個解答 · 發問者 哆啦A夢 1 in 電腦與網際網路 ➔ 程式設計
內插法 是什麼
我是說本來是 800*600 或更大的
縮小為 N 倍 800/N * 600/N
再把他存到另一個檔案
2007-02-05 15:48:00 · update #1
對不起喔 你說是用平均 可是妳寫的我看不出來哪裡有平均呢
2007-02-06 11:07:20 · update #2
最簡單的就是內插法啊!
這比 RGP 和檔頭簡單耶!
不知你是哪裡不懂
2007-02-05 21:42:52 補充:
內插是放大的。
縮小是用平均。
設原大小 X, Y
新大小 x, y
Rx = X / x
Ry = Y / y
for (i=0; i
g = p[i*Rx a][j*Ry b].g,
b = p[i*Rx a][j*Ry b].b;
}
2007-02-05 21:43:10 補充:
p[i][j].r = r,
p[i][j].g = g,
p[i][j].b = b,
}
沒 debug,大致像這樣。
當然,你不一定要 1:1 平均
若是 Rx Ry 非整數,你也可以再做一些小調整。
加油! ^_^
2007-02-06 22:27:06 補充:
不好意思:
1. +被吃了。沒注意
2. 的確漏寫了平均的部份。
3. 果然有2個 bug!
2007-02-06 22:27:24 補充:
for (i=0; i
g += p[i*Rx+a][j*Ry+c].g,
b += p[i*Rx+a][j*Ry+c].b;
}
p[i][j].r = r/Rx/Ry,
p[i][j].g = g/Rx/Ry,
p[i][j].b = b/Rx/Ry;
+要改成半型
2007-02-05 09:12:36 · answer #1 · answered by ? 7 · 0⤊ 0⤋