mirror of
https://github.com/JFormDesigner/FlatLaf.git
synced 2025-12-06 14:00:55 +03:00
jsvg: use RenderingHints.VALUE_STROKE_PURE for correct line rendering
This commit is contained in:
@@ -574,12 +574,7 @@ public class FlatSVGIcon
|
||||
Graphics2D g2 = new GraphicsFilter( (Graphics2D) g.create(), colorFilter, ColorFilter.getInstance(), grayFilter );
|
||||
|
||||
try {
|
||||
// same hints as in FlatUIUtils.setRenderingHints()
|
||||
g2.setRenderingHint( RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON );
|
||||
g2.setRenderingHint( RenderingHints.KEY_STROKE_CONTROL, RenderingHints.VALUE_STROKE_NORMALIZE );
|
||||
|
||||
// enable better image scaling
|
||||
g2.setRenderingHint( RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR );
|
||||
setRenderingHints( g2 );
|
||||
|
||||
paintSvg( g2, x, y );
|
||||
} finally {
|
||||
@@ -652,6 +647,17 @@ public class FlatSVGIcon
|
||||
return MultiResolutionImageSupport.create( 0, dimensions, producer );
|
||||
}
|
||||
|
||||
static void setRenderingHints( Graphics2D g ) {
|
||||
// enable anti-aliasing
|
||||
g.setRenderingHint( RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON );
|
||||
|
||||
// disable coordinate normalization for correct line rendering
|
||||
g.setRenderingHint( RenderingHints.KEY_STROKE_CONTROL, RenderingHints.VALUE_STROKE_PURE );
|
||||
|
||||
// enable better image scaling
|
||||
g.setRenderingHint( RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR );
|
||||
}
|
||||
|
||||
static URL uri2url( URI uri ) {
|
||||
try {
|
||||
return uri.toURL();
|
||||
|
||||
@@ -19,7 +19,6 @@ package com.formdev.flatlaf.extras;
|
||||
import java.awt.Dimension;
|
||||
import java.awt.Graphics2D;
|
||||
import java.awt.Image;
|
||||
import java.awt.RenderingHints;
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.net.URL;
|
||||
import java.util.Arrays;
|
||||
@@ -201,8 +200,7 @@ public class FlatSVGUtils
|
||||
|
||||
Graphics2D g = image.createGraphics();
|
||||
try {
|
||||
g.setRenderingHint( RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON );
|
||||
g.setRenderingHint( RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR );
|
||||
FlatSVGIcon.setRenderingHints( g );
|
||||
|
||||
FloatSize size = document.size();
|
||||
double sx = width / size.width;
|
||||
|
||||
Reference in New Issue
Block a user