[問題]bmp怎麼轉wmf |
尚未結案
|
jane7374015
一般會員 發表:5 回覆:3 積分:1 註冊:2005-06-08 發送簡訊給我 |
|
RedSnow
版主 發表:79 回覆:1322 積分:845 註冊:2003-12-15 發送簡訊給我 |
jane7374015 妳好: 不知道妳對這兩種圖檔的認識有多少?因此我還是簡單的說明一下它們的差異好了:WMF 是屬於向量式圖檔,而 BMP 是點陣式圖檔,向量式圖檔是由許多的數據 (點線座標、角度、顏色、層次....等等) 所組成,在顯示時用計算的方式重新繪製出圖形 (例如畫線、畫點、畫封閉曲線、區域著色....等),因此顯示速度會稍慢些,但是放大縮小時較不失真,而點陣式的圖檔是由色點資料所組成,顯示速度較快 (依序將色點資料填到顯示區域即可),但是在放大或縮小時都較易失真,兩者使用的是完全不同的處理過程,WMF 可以輕易轉為 BMP 檔,因為可以透過程式來將向量資料經過計算後繪製成圖形,然後將繪製出的圖形色點資料儲存成點陣圖,但是點陣資料卻無法直接將色點資料還原成向量資料,除非妳能判斷出點陣圖的內容是由那些數據所組成的,那就可以按照 WMF 圖檔的格式加以儲存起來。 妳如果真的有需要將點陣圖檔轉換為向量圖檔的話,那不妨試著找找看有無第三方元件可用?或是自己動手去處理,要不然就透過其它的工具程式來轉換好了,例如 CorelDraw 就有提供轉換工具,但是妳心裡得有個數,簡單內容的點陣圖轉起來還像個樣,但如果是複雜的點陣圖,那麼轉換出來的結果通常是不太令人滿意的。 補充一點:如果妳僅需要將 BMP 轉成 WMF 圖檔,但是並不在乎向量數據的話,那還是可以透過 TMetafile 來儲存成 WMF 檔案的,只不過該檔的內容並不是真正的向量資料,而仍然是點陣圖,處理步驟如下:
Image1->Picture->Bitmap->LoadFromFile("c:\\aaa.bmp"); TMetafile *WMF = new TMetafile(); TMetafileCanvas *WMFCanvas = new TMetafileCanvas(WMF, 0); WMF->Width = Image1->Picture->Bitmap->Width; WMF->Height = Image1->Picture->Bitmap->Height; WMFCanvas->Draw(0, 0, Image1->Picture->Bitmap); delete WMFCanvas; WMF->SaveToFile("c:\\aaa.wmf"); delete WMF;7 天天敲鍵盤 v 時時按滑鼠 8 發表人 - RedSnow 於 2005/09/13 12:53:43 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |