看板 C_Sharp 關於我們 聯絡資訊
我想將一張24或是32位元深度的彩色圖片 轉至成為16深度的灰階圖片(類似小畫家的單色點陣圖) 目前作法是new出一個Bitmap,將PixelFormat設成Format16bppGrayScale 但是在作RGB/3的時候,最後SetPixel出來的圖片,似乎只能存成24深度的 搜尋過國內外網站,有些人說GDI SetPixel的圖只會是24以上的 想請問C#還有其他方法可以存出16深度的圖片嗎 還是說VB6有辦法,不然要找小畫家的api了嗎XD (Paint.net似乎也沒有可以存成的) 感謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.45.237.55
Abbee:16我是不會啦~我都用指標存成8bit的灰階, 再設調色盤為灰階 06/02 10:46
Abbee:用SetPixel的效能非常差哦~建議用指標,但是指標很危險,一不 06/02 10:46
Abbee:心就會溢位, 但溢位也不會常下異常, 會在存取之後的圖出現異 06/02 10:47
Abbee:常, 這時程式就只能重開, 所以在寫的時候要測得很完整,確定 06/02 10:47
Abbee:指標相關的語法沒寫錯 06/02 10:48
Abbee:另外你用/3的方法, 也建議改為*0.333就好了,反正要取整數,這 06/02 10:49
Abbee:樣效能會比較好哦 06/02 10:49
proach:只有儲存不顯示嗎? 06/02 11:05
Ethan96:感謝 06/04 23:21