The following is my implementation of reading a bitmap :
bool MySkia::readBitmap(std::string path, SkBitmap& dst) {
sk_sp<SkData> data = SkData::MakeFromFileName(path.c_str());
if (data == nullptr) {
return false;
}
std::unique_ptr<SkImageGenerator> gen(SkImageGenerator::MakeFromEncoded(std::move(data)));
gen && dst.tryAllocPixels(gen->getInfo()) &&
gen->getPixels(gen->getInfo().makeColorSpace(nullptr), dst.getPixels(), dst.rowBytes());
return true;
}
But I can't find any function to get 'SkEncodedImageFormat' from 'SkImageGenerator'?
It's possible?
By the way, I know other way to get 'SkEncodedImageFormat' :
std::unique_ptr<SkCodec> codec = SkCodec::MakeFromData(skData);
codec->getEncodedFormat();