2

你好,

我目前正在研究Android如何解码和图像文件。当我检查代码时,它似乎正在调用 SKIA 库。但是,根据源码我怎么知道android/skia支持的图片文件格式是什么?

我不是编程专家,所以我仍在努力理解 C++ 和 Java 语言。

我现在迷失在SkImageDecoder* decoder = SkImageDecoder::Factory(stream);BitmapFactory.cpp(JNI 文件)中。SkImageDecoder::Factory(stream)似乎是一个模板。

任何人都可以向我解释里面发生了什么SKImageDecoder::Factory()?任何反馈将不胜感激。

谢谢,
艺人

4

3 回答 3

2

在skia/include/images/SkImageDecoder.h文件中,有Skia支持的图像列表解码:

enum Format {
    kUnknown_Format,
    kBMP_Format,
    kGIF_Format,
    kICO_Format,
    kJPEG_Format,
    kPNG_Format,
    kWBMP_Format,
    kWEBP_Format,

    kLastKnownFormat = kWEBP_Format
};

在 SkImageDecoder::Factory(stream) 函数中,它会根据分析 Stream 的 header 来新建一个解码器实例。

于 2012-08-01T05:27:25.680 回答
1

通过查看Android的源代码,我认为支持以下图像格式。 ICO(Windows ICON 图像格式)、BMP、JPEG、WBMP、GIF 和 PNG。

如果我错了,请纠正我。谢谢你。

于 2011-04-25T00:41:13.753 回答
0

PNG、JPEG 和 GIF 是受支持的格式。Android 上使用的主要格式是 PNG 和 JPEG。

于 2011-04-22T03:03:34.507 回答