我目前正在研究Android解碼和圖像文件。當我檢查代碼時,它似乎就是在調用SKIA庫。但是,我怎麼知道android/skia支持的圖像文件格式是以源代碼爲基礎的?
我不是編程方面的專家,所以我仍然試圖理解C++和Java語言。
我現在丟失在BitmapFactory.cpp(JNI文件)內的SkImageDecoder* decoder = SkImageDecoder::Factory(stream);
。 SkImageDecoder::Factory(stream)
似乎是一個模板。
任何人都可以解釋我SKImageDecoder::Factory()
裏面發生了什麼?任何反饋將不勝感激。
謝謝
artsylar
感謝您的回覆。你知道在源代碼中的Android在檢查,如果文件格式是否支持?我想這是在'SkImageDecoder :: Factory(stream)'中完成的;'在BitmapFactory.cpp(JNI)中。但我仍然無法確定它的具體做法。 – artsylar 2011-04-22 03:50:13
我在SKIA庫中找到了ff類 SkFPDFEMBImageDecoder // FPDFEMB SkBMPImageDecoder // BMP文件 SkGIFImageDecoder // GIF文件 SkICOImageDecoder // ICO文件? SkJPEGImageDecoder //基線JPEG格式 SkPNGImageDecoder // PNG SkPVJPEGImageDecoder //漸進JPEG格式? SkWBMPImageDecoder //無線應用協議位圖格式 – artsylar 2011-04-22 06:43:39
只是爲了確認如果機器人使用上面的類,我試圖顯示有效的ICO文件(「位圖BMAP = BitmapFactory.decodeFile(‘/ SD卡/ vlc.ico’);」)並在仿真器中正確顯示。 – artsylar 2011-04-22 08:06:26