Files
MapLibreParticleLab/platform/android/src/image.cpp
2018-04-09 17:46:02 +03:00

28 lines
727 B
C++

#include <mbgl/util/image.hpp>
#include <mbgl/util/string.hpp>
#include <string>
#include "attach_env.hpp"
#include "bitmap_factory.hpp"
namespace mbgl {
PremultipliedImage decodeImage(const std::string& string) {
auto env{ android::AttachEnv() };
auto array = jni::Array<jni::jbyte>::New(*env, string.size());
jni::SetArrayRegion(*env, *array, 0, string.size(),
reinterpret_cast<const signed char*>(string.data()));
auto bitmap = android::BitmapFactory::DecodeByteArray(*env, array, 0, string.size());
jni::DeleteLocalRef(*env, array);
auto image = android::Bitmap::GetImage(*env, bitmap);
jni::DeleteLocalRef(*env, bitmap);
return image;
}
} // namespace mbgl