mirror of
https://github.com/JFormDesigner/FlatLaf.git
synced 2025-12-06 22:10:54 +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 );
|
Graphics2D g2 = new GraphicsFilter( (Graphics2D) g.create(), colorFilter, ColorFilter.getInstance(), grayFilter );
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// same hints as in FlatUIUtils.setRenderingHints()
|
setRenderingHints( g2 );
|
||||||
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 );
|
|
||||||
|
|
||||||
paintSvg( g2, x, y );
|
paintSvg( g2, x, y );
|
||||||
} finally {
|
} finally {
|
||||||
@@ -652,6 +647,17 @@ public class FlatSVGIcon
|
|||||||
return MultiResolutionImageSupport.create( 0, dimensions, producer );
|
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 ) {
|
static URL uri2url( URI uri ) {
|
||||||
try {
|
try {
|
||||||
return uri.toURL();
|
return uri.toURL();
|
||||||
|
|||||||
@@ -19,7 +19,6 @@ package com.formdev.flatlaf.extras;
|
|||||||
import java.awt.Dimension;
|
import java.awt.Dimension;
|
||||||
import java.awt.Graphics2D;
|
import java.awt.Graphics2D;
|
||||||
import java.awt.Image;
|
import java.awt.Image;
|
||||||
import java.awt.RenderingHints;
|
|
||||||
import java.awt.image.BufferedImage;
|
import java.awt.image.BufferedImage;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
@@ -201,8 +200,7 @@ public class FlatSVGUtils
|
|||||||
|
|
||||||
Graphics2D g = image.createGraphics();
|
Graphics2D g = image.createGraphics();
|
||||||
try {
|
try {
|
||||||
g.setRenderingHint( RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON );
|
FlatSVGIcon.setRenderingHints( g );
|
||||||
g.setRenderingHint( RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR );
|
|
||||||
|
|
||||||
FloatSize size = document.size();
|
FloatSize size = document.size();
|
||||||
double sx = width / size.width;
|
double sx = width / size.width;
|
||||||
|
|||||||
Reference in New Issue
Block a user