Exemplo n.º 1
0
    ArcsView() {
        //testparse();
        fSweep = SkIntToScalar(100);
        this->setBGColor(0xFFDDDDDD);
		SkFILEStream stream("c:/test_ba.png");
		SkImageDecoder* dec = sk_libpng_dfactory(&stream);
		//delete dec;
		SkImageDecoder *coder = SkImageDecoder::Factory(&stream);
		coder->decode(&stream, &fbmp, SkColorType::kRGBA_8888_SkColorType, SkImageDecoder::kDecodePixels_Mode);
		delete dec;
    }
Exemplo n.º 2
0
SkImageDecoder* SkImageDecoder::Factory(SkStream* stream) {
    SkImageDecoder* codec = NULL;
    const DecodeReg* curr = DecodeReg::Head();
    while (curr) {
        codec = curr->factory()(stream);
        // we rewind here, because we promise later when we call "decode", that
        // the stream will be at its beginning.
        stream->rewind();
        if (codec) {
            return codec;
        }
        curr = curr->next();
    }
#ifdef SK_ENABLE_LIBPNG
    codec = sk_libpng_dfactory(stream);
    stream->rewind();
    if (codec) {
        return codec;
    }
#endif
    return NULL;
}