BMP_64K轉256_的問題 (update) |
答題得分者是:RaynorPao
|
hjlin
一般會員 發表:63 回覆:48 積分:22 註冊:2003-02-11 發送簡訊給我 |
|
JerryKuo
版主 發表:42 回覆:571 積分:322 註冊:2003-03-10 發送簡訊給我 |
|
hjlin
一般會員 發表:63 回覆:48 積分:22 註冊:2003-02-11 發送簡訊給我 |
我用影像處理軟體處理過後,得到的圖色很正常啊~ 我的程式片段如下: TPoint ptLT1, ptRB1, ptLT2, ptRB2;
ptLT1.x=Image3->Left;
ptLT1.y=Image3->Top;
ptRB1.x=Image3->Left Image3->Width;
ptRB1.y=Image3->Top Image3->Height;
ptLT2=Form1->ClientToScreen(ptLT1);
ptRB2=Form1->ClientToScreen(ptRB1); HDC dc;
dc=GetDC(0);
TCanvas *canvas=new TCanvas;
canvas->Handle=dc;
Graphics::TBitmap *bmp=new Graphics::TBitmap;
bmp->Width=Image3->Width/1.5;
bmp->Height=Image3->Height/1.5;
bmp->Canvas->CopyMode=cmSrcCopy;
SetStretchBltMode(bmp->Canvas->Handle, STRETCH_HALFTONE);
bmp->Canvas->CopyRect(Rect(0, 0, bmp->Width, bmp->Height),
canvas, Rect(ptLT2.x, ptLT2.y, ptRB2.x, ptRB2.y));
bmp->PixelFormat=pf8bit; // Transfer 16bit to 8bits
if(SavePictureDialog1->Execute())
{
bmp->SaveToFile(SavePictureDialog1->FileName);
}
delete bmp;
delete canvas;
ReleaseDC(NULL, dc);
}
|
hjlin
一般會員 發表:63 回覆:48 積分:22 註冊:2003-02-11 發送簡訊給我 |
SetStretchBltMode(Image3->Canvas->Handle, STRETCH_HALFTONE);
Image3->Canvas->CopyMode=cmSrcCopy;
Image3->Canvas->CopyRect(Rect(0, 0, Image3->Width, Image3->Height),
Image1->Canvas, Rect(0, 0, int((Image1->Width/1.5) 0.5), int((Image1->Height/1.5) 0.5))); 我查出來上面這個程式會使得原本為256色變成64K色...WHY?
|
JerryKuo
版主 發表:42 回覆:571 積分:322 註冊:2003-03-10 發送簡訊給我 |
|
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
引言: 請問各位一個問題,我想將 64K(18 bits)BMP 轉成 256(8 bits)BMP,我用了 bmp->PixelFormat=pf8bit 此指令,不過顏色好像會失真,結果如下: 可以給我一個解決的方法嗎?如何不會失真,謝謝 [/blue] Before After hjlin 你好: (1)我的寫法跟你的是一樣的,但是~~我所得到的結果,卻不會像你的圖形失真 那麼的嚴重 (2)我已經將執行的結果寄給你參考,先看看吧 (3)會變成 64K 的原因,是因為 VGA 設定的原因,你可以試試看更改 VGA 的色 彩設定值,得到的結果又會不一樣-- Enjoy Researching & Developing --
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
hjlin
一般會員 發表:63 回覆:48 積分:22 註冊:2003-02-11 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |