2010-08-09 50 views
1

我有一個'.bmp'類型的圖像(不是jpeg或png)。我試圖用下面的代碼嵌入它。如何將'bmp'類型的圖像嵌入到閃存中?

[Embed(source="images/door0091.bmp")] 
private var door0091_class:Class; 
private var door91:Bitmap = new door0091_class(); 

在編譯時,代碼會拋出以下錯誤。

'door0091.bmp'沒有識別擴展名,並且沒有提供mimeType 無法轉碼door0091.bmp。

要克服,我想給一個「mime類型」,這是在運行過程中給人一種類型強制錯誤:

[Embed(source="images/door0091.bmp", mimeType = 'application/octet-stream')] 
private var door0091_class:Class; 
private var door91:Bitmap = new door0091_class(); 

類型錯誤:錯誤#1034:類型強制失敗:無法轉換DoorImages_door0091_class @ 3891e041到flash.display.Bitmap。

我已經在谷歌搜索,但我無法找到正確的答案。 我不想將圖像類型(bmp)轉換爲jpeg或png。

任何人有任何想法?請幫忙!!!

在此先感謝。

回答

2

本機不支持Flash格式的BMP格式。如果你絕對需要你的圖像是bmps,你可以加載/嵌入圖像爲二進制,然後解碼它們。這裏有一個BMP decoder,可能有幫助(我從來沒有使用它)。

這個blog post也值得檢查。

+0

嗨娟。感謝您的迴應。 從您的回覆中,我瞭解到嵌入bmp圖像存在困難。我會嘗試將圖像轉換爲其他格式,如jpeg或png。如果圖像的分辨率沒有問題,那麼我會嵌入轉換後的圖像。 感謝您的回覆! – Sandeep 2010-08-10 07:20:06

+0

@ sanmax007。沒問題。是的,轉換圖像會更容易(例如,可以使用像Photoshop這樣的程序自動執行)。另外,BMP對於基於網絡的內容來說不是一個好的格式。它缺乏良好的壓縮性,所以我認爲你的swf最終會變成90 bmp的很重。 – 2010-08-10 12:54:34

+0

嗨Juan。你是對的。我已經將所有圖像轉換爲jpg格式,現在這個工作正常。 感謝您向我展示正確的方向。 – Sandeep 2010-08-11 13:13:50

相關問題