影像合併問題? |
尚未結案
|
csm825050
一般會員 發表:49 回覆:29 積分:15 註冊:2003-08-20 發送簡訊給我 |
各位好:
我利用Graphics::TBitmap將很多張bmp的圖檔合成一張,合併完之後去查檔案,發現biCompression的值是3,可是我原先的圖是0,請問這如何去變更呢?我試過若
PixelFormat為pf24bit的話biCompression的值是0,但是我需要的是16bit的圖,請各位不吝指教,謝謝 Graphics::TBitmap *BMPDest=new Graphics::TBitmap;
Graphics::TBitmap *BMPSour=new Graphics::TBitmap;
BMPDest->Canvas->CopyMode=cmSrcCopy;
BMPDest->PixelFormat=pf16bit;
BMPDest->Width =100;
BMPDest->Height=100;
BMPSour->LoadFromFile("123.bmp");
BMPDest->Canvas->CopyRect(rect(0,0,50,50),BMPSour->Canvas,rect(0,0,50,50));
BMPSour->LoadFromFile("456.bmp");
BMPDest->Canvas->CopyRect(rect(50,0,100,50),BMPSour->Canvas,rect(0,0,50,50));
BMPDest->SaveToFile("789.bmp");
delete BMPDest;
delete BMPSour;
|
fffhghgjh
一般會員 發表:2 回覆:33 積分:17 註冊:2004-12-23 發送簡訊給我 |
|
csm825050
一般會員 發表:49 回覆:29 積分:15 註冊:2003-08-20 發送簡訊給我 |
|
fffhghgjh
一般會員 發表:2 回覆:33 積分:17 註冊:2004-12-23 發送簡訊給我 |
DWORD buffer,bmp1Position,bmp2Position,bmpWidth,bmpHeight; WORD bufferwrite; int height,width; Graphics::TBitmap *BMPDest=new Graphics::TBitmap; Graphics::TBitmap *BMPSour=new Graphics::TBitmap; BMPDest->Canvas->CopyMode=cmSrcCopy; //BMPDest->PixelFormat=pf16bit; BMPDest->Width =100; BMPDest->Height=100; BMPSour->LoadFromFile("123.bmp"); BMPDest->Canvas->CopyRect(rect(0,0,50,50),BMPSour->Canvas,rect(0,0,50,50)); BMPSour->LoadFromFile("456.bmp"); BMPDest->Canvas->CopyRect(rect(50,0,100,50),BMPSour->Canvas,rect(0,0,50,50)); TMemoryStream* pms = new TMemoryStream(); BMPDest->SaveToStream(pms); pms->Position=10; pms->Read(&bmp1Position,4); bmp2Position=bmp1Position; pms->Position=10; pms->Read(&bmp2Position,4); pms->Position=18; pms->Read(&bmpWidth,4); pms->Position=22; pms->Read(&bmpHeight,4); pms->Position=28; bufferwrite=16; pms->Write(&bufferwrite,1); for(height=0;height這是自己利用程式做24bit轉成16bit 給你參考看看 發表人 - fffhghgjh 於 2005/01/11 19:16:57 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |