怎麼把8bit的圖片丟到32bit的畫布上? |
答題得分者是:senso
|
encoref70036
一般會員 發表:29 回覆:47 積分:15 註冊:2011-05-18 發送簡訊給我 |
原始圖片 是GIF的圖檔
開了以後變成這樣 好像是這段程式碼的關係 (Open裡面) if (Child->Image1->Picture->Bitmap->PixelFormat == pf8bit)//8位元丟給32位元 { nBitmap->Assign(Child->Image1->Picture); tempBitmap->Assign(Child->Image1->Picture); //ShowMessage(nBitmap->PixelFormat); pBitmap->PixelFormat = NewPF; pBitmap->Height = nBitmap->Height; pBitmap->Width = nBitmap->Width; for (int y = 0;y < nBitmap->Height;y ) { ptr1 = (Byte*)nBitmap->ScanLine[y]; aptr1 = (Byte*)pBitmap->ScanLine[y]; for (int x = 0;x < nBitmap->Width;x ) { aptr1[cp*x] = ptr1[x]; aptr1[cp*x 1] = ptr1[x]; aptr1[cp*x 2] = ptr1[x]; } } Child->Image1->Picture->Assign(pBitmap); Child->Image1->Canvas->Draw(0,0,Child->Image1->Picture->Bitmap); } 如果沒有這段 顏色正常 但是我想把8bit的圖片丟給32bit的畫布上 請問是哪裡寫錯呢 麻煩大俠了 下面附上程式 p.s NewPF就是pf32bit cp的值是4 編輯記錄
|
senso
高階會員 發表:5 回覆:126 積分:226 註冊:2003-11-27 發送簡訊給我 |
8bit不一定是256gray,也可能是256color
要取得真正的顏色請挖調色盤 參考 http://delphi.ktop.com.tw/board.php?cid=168&fid=921&tid=55371 |
encoref70036
一般會員 發表:29 回覆:47 積分:15 註冊:2011-05-18 發送簡訊給我 |
謝謝您 我試試看 我先結案 有問題我之後再po新的好了
編輯記錄
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |