FIX: [STUDIO-3459,STUDIO-3065] use FromDIP instead of em_unit load svg

Change-Id: I4be0de849ab825011c241d6da932a2574783ed6f
This commit is contained in:
chunmao.guo 2023-07-03 15:48:57 +08:00 committed by Lane.Wei
parent dc8bdb04bb
commit f381bcd469
2 changed files with 2 additions and 2 deletions

View file

@ -372,7 +372,7 @@ wxBitmap* BitmapCache::load_svg(const std::string &bitmap_name, unsigned target_
std::vector<unsigned char> data(n_pixels * 4, 0); std::vector<unsigned char> data(n_pixels * 4, 0);
// BBS: support resize by fill border // BBS: support resize by fill border
if (scale_in_center > 0) { if (scale_in_center > 0 && scale_in_center < svg_scale) {
int w = (int)(image->width * scale_in_center); int w = (int)(image->width * scale_in_center);
int h = (int)(image->height * scale_in_center); int h = (int)(image->height * scale_in_center);
::nsvgRasterize(rast, image, 0, 0, scale_in_center, data.data() + int(height - h) / 2 * width * 4 + int(width - w) / 2 * 4, w, h, width * 4); ::nsvgRasterize(rast, image, 0, 0, scale_in_center, data.data() + int(height - h) / 2 * width * 4 + int(width - w) / 2 * 4, w, h, width * 4);

View file

@ -451,7 +451,7 @@ wxBitmap create_scaled_bitmap( const std::string& bmp_name_in,
// Try loading an SVG first, then PNG if SVG is not found: // Try loading an SVG first, then PNG if SVG is not found:
wxBitmap *bmp = cache.load_svg(bmp_name, width, height, grayscale, dark_mode, new_color, resize ? em_unit(win) * 0.1f : 0.f); wxBitmap *bmp = cache.load_svg(bmp_name, width, height, grayscale, dark_mode, new_color, resize ? em_unit(win) * 0.1f : 0.f);
if (bmp == nullptr) { if (bmp == nullptr) {
bmp = cache.load_png(bmp_name, width, height, grayscale, resize ? em_unit(win) * 0.1f : 0.f); bmp = cache.load_png(bmp_name, width, height, grayscale, resize ? win->FromDIP(10) * 0.1f : 0.f);
} }
if (bmp == nullptr) { if (bmp == nullptr) {