diff --git a/es-core/src/resources/TextureData.cpp b/es-core/src/resources/TextureData.cpp index efe4bfb585..fbe0010a19 100644 --- a/es-core/src/resources/TextureData.cpp +++ b/es-core/src/resources/TextureData.cpp @@ -76,7 +76,8 @@ bool TextureData::initSVGFromMemory(const unsigned char* fileData, size_t length unsigned char* dataRGBA = new unsigned char[mWidth * mHeight * 4]; NSVGrasterizer* rast = nsvgCreateRasterizer(); - nsvgRasterize(rast, svgImage, 0, 0, mHeight / svgImage->height, dataRGBA, (int)mWidth, (int)mHeight, (int)mWidth * 4); + float scale = Math::min(mHeight / svgImage->height, mWidth / svgImage->width); + nsvgRasterize(rast, svgImage, 0, 0, scale, dataRGBA, (int)mWidth, (int)mHeight, (int)mWidth * 4); nsvgDeleteRasterizer(rast); ImageIO::flipPixelsVert(dataRGBA, mWidth, mHeight);