Added #1913 Option to disable bitmap smoothing for display

This commit is contained in:
Jindra Petřík
2023-01-22 22:15:04 +01:00
parent e9568e413b
commit 6b07e1c868
26 changed files with 57 additions and 39 deletions
@@ -3103,7 +3103,7 @@ public class CommandLineArgumentParser {
renderContext.stateUnderCursor = new ArrayList<>();
try {
tim.toImage(fframe, fframe, renderContext, image, image, false, m, new Matrix(), m, null, zoom, true, new ExportRectangle(rect), m, true, Timeline.DRAW_MODE_ALL, 0);
tim.toImage(fframe, fframe, renderContext, image, image, false, m, new Matrix(), m, null, zoom, true, new ExportRectangle(rect), m, true, Timeline.DRAW_MODE_ALL, 0, true);
} catch (Exception ex) {
ex.printStackTrace();
}
@@ -322,7 +322,7 @@ public class FolderPreviewPanel extends JPanel {
String key = "frame_" + fn.frame + "_" + timeline.id + "_" + zoom;
imgSrc = swf.getFromCache(key);
if (imgSrc == null) {
imgSrc = SWF.frameToImageGet(timeline, fn.frame, 0, null, 0, rect, new Matrix(), null, null, zoom);
imgSrc = SWF.frameToImageGet(timeline, fn.frame, 0, null, 0, rect, new Matrix(), null, null, zoom, !Configuration.disableBitmapSmoothing.get());
swf.putToCache(key, imgSrc);
}
@@ -378,7 +378,7 @@ public class FolderPreviewPanel extends JPanel {
if (imgSrc == null) {
DrawableTag drawable = (DrawableTag) treeItem;
ExportRectangle viewRectangle = new ExportRectangle(0, 0, ow, oh);
drawable.toImage(0, 0, 0, new RenderContext(), image, image, false, m, new Matrix(), m, m, null, scale, false, viewRectangle, true, Timeline.DRAW_MODE_ALL, 0);
drawable.toImage(0, 0, 0, new RenderContext(), image, image, false, m, new Matrix(), m, m, null, scale, false, viewRectangle, true, Timeline.DRAW_MODE_ALL, 0, !Configuration.disableBitmapSmoothing.get());
} else {
Graphics2D g = (Graphics2D) image.getGraphics();
g.setTransform(m.toTransform());
@@ -2813,10 +2813,10 @@ public final class ImagePanel extends JPanel implements MediaDisplay {
image.fillTransparent();
Matrix m = Matrix.getTranslateInstance(-rect.Xmin * zoomDouble, -rect.Ymin * zoomDouble);
m.scale(zoomDouble);
textTag.toImage(0, 0, 0, new RenderContext(), image, image, false, m, m, m, m, new ConstantColorColorTransform(0xFFC0C0C0), zoomDouble, false, new ExportRectangle(rect), true, Timeline.DRAW_MODE_ALL, 0);
textTag.toImage(0, 0, 0, new RenderContext(), image, image, false, m, m, m, m, new ConstantColorColorTransform(0xFFC0C0C0), zoomDouble, false, new ExportRectangle(rect), true, Timeline.DRAW_MODE_ALL, 0, false);
if (newTextTag != null) {
newTextTag.toImage(0, 0, 0, new RenderContext(), image, image, false, m, m, m, m, new ConstantColorColorTransform(0xFF000000), zoomDouble, false, new ExportRectangle(rect), true, Timeline.DRAW_MODE_ALL, 0);
newTextTag.toImage(0, 0, 0, new RenderContext(), image, image, false, m, m, m, m, new ConstantColorColorTransform(0xFF000000), zoomDouble, false, new ExportRectangle(rect), true, Timeline.DRAW_MODE_ALL, 0, false);
}
iconPanel.setImg(image);
@@ -2957,7 +2957,7 @@ public final class ImagePanel extends JPanel implements MediaDisplay {
g.fillRect(realRect.x, realRect.y, realRect.width, realRect.height);
}
timeline.toImage(frame, time, renderContext, image, image, false, m, new Matrix(), m, null, zoom, true, viewRect, fullM, true, Timeline.DRAW_MODE_ALL, 0);
timeline.toImage(frame, time, renderContext, image, image, false, m, new Matrix(), m, null, zoom, true, viewRect, fullM, true, Timeline.DRAW_MODE_ALL, 0, !Configuration.disableBitmapSmoothing.get());
Graphics2D gg = (Graphics2D) image.getGraphics();
gg.setStroke(new BasicStroke(3));
@@ -668,3 +668,6 @@ config.description.showImportSoundInfo = Displays some info about how importing
config.name.svgRetainBounds = Retain shape bounds during SVG export
config.description.svgRetainBounds = During SVG export, the x, y position of the shape is exported exactly as in SWF (e.g. positive or negative).
config.name.disableBitmapSmoothing = Disable bitmap smoothing
config.description.disableBitmapSmoothing = Disable smoothed bitmap fills during display - show all as nonsmoothed (pixelated). This does not apply to exported images.
@@ -658,3 +658,6 @@ config.description.showImportSoundInfo = Zobraz\u00ed n\u011bjak\u00e9 informace
config.name.svgRetainBounds = Zachovat hranice tvaru b\u011bhem exportu SVG
config.description.svgRetainBounds = B\u011bhem exportu SVG bude pozice tvaru x a y exportov\u00e1na p\u0159esn\u011b jako v SWF (tj. pozitivn\u00ed \u010di negativn\u00ed).
config.name.disableBitmapSmoothing = Zak\u00e1zat vyhlazov\u00e1n\u00ed bitmap
config.description.disableBitmapSmoothing = Zak\u00e1\u017ee vyhlazovan\u00e9 bitmapov\u00e9 v\u00fdpln\u011b b\u011bhem zobrazen\u00ed - zobraz\u00ed v\u0161e jako nevyhlazen\u00e9 (pixelovan\u00e9). Toto se neaplikuje na exportovan\u00e9 obr\u00e1zky.