[問題] BCB裡 如何將圖檔裁切後另存成PNG檔

看板C_and_CPP作者 (小豬頭)時間15年前 (2010/08/17 16:57), 編輯推噓0(002)
留言2則, 1人參與, 最新討論串1/1
( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 ) ( 未必需要依照此格式,文章條理清楚即可 ) 遇到的問題: (題意請描述清楚) 無法將裁切後的圖檔,正確的存成PNG格式 希望得到的正確結果: 能正確的將裁切後的圖檔存成png 程式跑出來的錯誤結果: 無法將alpha 也存入png檔 開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux) c++ builder 2010 有問題的code: (請善用置底文標色功能) TPngImage *png = (TPngImage *)Image1->Picture->Graphic; TPngImage *pngimage_new = new TPngImage(); RECT rect; //裁切後的矩形 Graphics::TBitmap *bitmap = new Graphics::TBitmap(); bitmap->Width = rect.right - rect.left; bitmap->Height= rect.bottom - rect.top; bitmap->PixelFormat = pf32bit; bitmap->AlphaFormat = afPremultiplied; for(int y=0; y<bitmap->Height; y++) { for(int x=0; x<bitmap->Width; x++) bitmap->Canvas->Pixels[x][y] = png->Pixels[x+rect.left][y+rect.top]; } pngimage_new->Assign(bitmap); pngimage_new->SaveToFile("D:\\123.png"); 補充說明: 上面是我將圖檔另存的程式碼,目前我已經可以將圖片另存了, 但就是無法將alpha值也存入,請問我還少了什麼步驟嗎???麻煩各位前輩幫幫忙 感激不盡!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 112.104.179.234 lovecold:轉錄至看板 GameDesign 08/17 18:17

08/20 12:25, , 1F
全透明,利用Transparent屬性,並設定TransparentColor
08/20 12:25, 1F

08/20 12:30, , 2F
半透明我不就不清楚了,bitmap元件好像沒有alpha屬性
08/20 12:30, 2F
文章代碼(AID): #1CQaxlQe (C_and_CPP)