mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/jpexs-decompiler.git
synced 2026-09-25 23:00:46 +00:00
Added: #2592, #2154, #2591 - Better handling of antialias conflation artifacts (by scaling), can be enabled in Advanced Settings / Display and Export.
This commit is contained in:
@@ -2269,6 +2269,10 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se
|
||||
selFile2 = selFile;
|
||||
}
|
||||
|
||||
|
||||
int aaScale = Configuration.reduceAntialiasConflationByScalingForExport.get() ? Configuration.reduceAntialiasConflationByScalingValueForExport.get() : 1;
|
||||
|
||||
|
||||
EventListener evl = swf.getExportEventListener();
|
||||
|
||||
if (export.isOptionEnabled(ImageExportMode.class)) {
|
||||
@@ -2278,12 +2282,12 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se
|
||||
|
||||
if (export.isOptionEnabled(ShapeExportMode.class)) {
|
||||
ret.addAll(new ShapeExporter().exportShapes(handler, selFile2 + File.separator + ShapeExportSettings.EXPORT_FOLDER_NAME, swf, new ReadOnlyTagList(shapes),
|
||||
new ShapeExportSettings(export.getValue(ShapeExportMode.class), export.getZoom()), evl, export.getZoom()));
|
||||
new ShapeExportSettings(export.getValue(ShapeExportMode.class), export.getZoom()), evl, export.getZoom(), aaScale));
|
||||
}
|
||||
|
||||
if (export.isOptionEnabled(MorphShapeExportMode.class)) {
|
||||
ret.addAll(new MorphShapeExporter().exportMorphShapes(handler, selFile2 + File.separator + MorphShapeExportSettings.EXPORT_FOLDER_NAME, new ReadOnlyTagList(morphshapes),
|
||||
new MorphShapeExportSettings(export.getValue(MorphShapeExportMode.class), export.getZoom()), evl));
|
||||
new MorphShapeExportSettings(export.getValue(MorphShapeExportMode.class), export.getZoom(), aaScale), evl));
|
||||
}
|
||||
|
||||
if (export.isOptionEnabled(TextExportMode.class)) {
|
||||
@@ -2324,7 +2328,7 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se
|
||||
FrameExporter frameExporter = new FrameExporter();
|
||||
|
||||
if (export.isOptionEnabled(FrameExportMode.class)) {
|
||||
FrameExportSettings fes = new FrameExportSettings(export.getValue(FrameExportMode.class), export.getZoom(), export.isTransparentFrameBackgroundEnabled());
|
||||
FrameExportSettings fes = new FrameExportSettings(export.getValue(FrameExportMode.class), export.getZoom(), export.isTransparentFrameBackgroundEnabled(), aaScale);
|
||||
if (frames.containsKey(0)) {
|
||||
String subFolder = FrameExportSettings.EXPORT_FOLDER_NAME;
|
||||
ret.addAll(frameExporter.exportFrames(handler, selFile2 + File.separator + subFolder, swf, 0, frames.get(0), 1, fes, evl));
|
||||
@@ -2332,7 +2336,7 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se
|
||||
}
|
||||
|
||||
if (export.isOptionEnabled(SpriteExportMode.class)) {
|
||||
SpriteExportSettings ses = new SpriteExportSettings(export.getValue(SpriteExportMode.class), export.getZoom());
|
||||
SpriteExportSettings ses = new SpriteExportSettings(export.getValue(SpriteExportMode.class), export.getZoom(), aaScale);
|
||||
for (Entry<Integer, List<Integer>> entry : frames.entrySet()) {
|
||||
int containerId = entry.getKey();
|
||||
if (containerId != 0) {
|
||||
@@ -2343,7 +2347,7 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se
|
||||
}
|
||||
|
||||
if (export.isOptionEnabled(ButtonExportMode.class)) {
|
||||
ButtonExportSettings bes = new ButtonExportSettings(export.getValue(ButtonExportMode.class), export.getZoom());
|
||||
ButtonExportSettings bes = new ButtonExportSettings(export.getValue(ButtonExportMode.class), export.getZoom(), aaScale);
|
||||
for (Tag tag : buttons) {
|
||||
ButtonTag button = (ButtonTag) tag;
|
||||
String subFolder = ButtonExportSettings.EXPORT_FOLDER_NAME;
|
||||
@@ -2387,6 +2391,8 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se
|
||||
return;
|
||||
}
|
||||
|
||||
int aaScale = Configuration.reduceAntialiasConflationByScalingForExport.get() ? Configuration.reduceAntialiasConflationByScalingValueForExport.get() : 1;
|
||||
|
||||
EventListener evl = swf.getExportEventListener();
|
||||
|
||||
if (export.isOptionEnabled(ImageExportMode.class)) {
|
||||
@@ -2396,12 +2402,12 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se
|
||||
|
||||
if (export.isOptionEnabled(ShapeExportMode.class)) {
|
||||
new ShapeExporter().exportShapes(handler, Path.combine(selFile, ShapeExportSettings.EXPORT_FOLDER_NAME), swf, swf.getTags(),
|
||||
new ShapeExportSettings(export.getValue(ShapeExportMode.class), export.getZoom()), evl, export.getZoom());
|
||||
new ShapeExportSettings(export.getValue(ShapeExportMode.class), export.getZoom()), evl, export.getZoom(), aaScale);
|
||||
}
|
||||
|
||||
if (export.isOptionEnabled(MorphShapeExportMode.class)) {
|
||||
new MorphShapeExporter().exportMorphShapes(handler, Path.combine(selFile, MorphShapeExportSettings.EXPORT_FOLDER_NAME), swf.getTags(),
|
||||
new MorphShapeExportSettings(export.getValue(MorphShapeExportMode.class), export.getZoom()), evl);
|
||||
new MorphShapeExportSettings(export.getValue(MorphShapeExportMode.class), export.getZoom(), aaScale), evl);
|
||||
}
|
||||
|
||||
if (export.isOptionEnabled(TextExportMode.class)) {
|
||||
@@ -2437,12 +2443,12 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se
|
||||
FrameExporter frameExporter = new FrameExporter();
|
||||
|
||||
if (export.isOptionEnabled(FrameExportMode.class)) {
|
||||
FrameExportSettings fes = new FrameExportSettings(export.getValue(FrameExportMode.class), export.getZoom(), export.isTransparentFrameBackgroundEnabled());
|
||||
FrameExportSettings fes = new FrameExportSettings(export.getValue(FrameExportMode.class), export.getZoom(), export.isTransparentFrameBackgroundEnabled(), aaScale);
|
||||
frameExporter.exportFrames(handler, Path.combine(selFile, FrameExportSettings.EXPORT_FOLDER_NAME), swf, 0, null, 1, fes, evl);
|
||||
}
|
||||
|
||||
if (export.isOptionEnabled(SpriteExportMode.class)) {
|
||||
SpriteExportSettings ses = new SpriteExportSettings(export.getValue(SpriteExportMode.class), export.getZoom());
|
||||
SpriteExportSettings ses = new SpriteExportSettings(export.getValue(SpriteExportMode.class), export.getZoom(), aaScale);
|
||||
for (CharacterTag c : swf.getCharacters(false).values()) {
|
||||
if (c instanceof DefineSpriteTag) {
|
||||
frameExporter.exportSpriteFrames(handler, Path.combine(selFile, SpriteExportSettings.EXPORT_FOLDER_NAME), swf, c.getCharacterId(), null, 1, ses, evl);
|
||||
@@ -2451,7 +2457,7 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se
|
||||
}
|
||||
|
||||
if (export.isOptionEnabled(ButtonExportMode.class)) {
|
||||
ButtonExportSettings bes = new ButtonExportSettings(export.getValue(ButtonExportMode.class), export.getZoom());
|
||||
ButtonExportSettings bes = new ButtonExportSettings(export.getValue(ButtonExportMode.class), export.getZoom(), aaScale);
|
||||
for (CharacterTag c : swf.getCharacters(false).values()) {
|
||||
if (c instanceof ButtonTag) {
|
||||
frameExporter.exportButtonFrames(handler, Path.combine(selFile, ButtonExportSettings.EXPORT_FOLDER_NAME), swf, c.getCharacterId(), null, bes, evl);
|
||||
@@ -2481,6 +2487,8 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se
|
||||
public void exportAllDebug(SWF swf, AbortRetryIgnoreHandler handler, String selFile, ExportDialog export) throws IOException, InterruptedException {
|
||||
EventListener evl = swf.getExportEventListener();
|
||||
|
||||
int aaScale = Configuration.reduceAntialiasConflationByScalingForExport.get() ? Configuration.reduceAntialiasConflationByScalingValueForExport.get() : 1;
|
||||
|
||||
if (export.isOptionEnabled(ImageExportMode.class)) {
|
||||
for (ImageExportMode exportMode : ImageExportMode.values()) {
|
||||
new ImageExporter().exportImages(handler, Path.combine(selFile, ImageExportSettings.EXPORT_FOLDER_NAME, exportMode.name()), swf.getTags(),
|
||||
@@ -2491,14 +2499,14 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se
|
||||
if (export.isOptionEnabled(ShapeExportMode.class)) {
|
||||
for (ShapeExportMode exportMode : ShapeExportMode.values()) {
|
||||
new ShapeExporter().exportShapes(handler, Path.combine(selFile, ShapeExportSettings.EXPORT_FOLDER_NAME, exportMode.name()), swf, swf.getTags(),
|
||||
new ShapeExportSettings(exportMode, export.getZoom()), evl, export.getZoom());
|
||||
new ShapeExportSettings(exportMode, export.getZoom()), evl, export.getZoom(), aaScale);
|
||||
}
|
||||
}
|
||||
|
||||
if (export.isOptionEnabled(MorphShapeExportMode.class)) {
|
||||
for (MorphShapeExportMode exportMode : MorphShapeExportMode.values()) {
|
||||
new MorphShapeExporter().exportMorphShapes(handler, Path.combine(selFile, MorphShapeExportSettings.EXPORT_FOLDER_NAME, exportMode.name()), swf.getTags(),
|
||||
new MorphShapeExportSettings(exportMode, export.getZoom()), evl);
|
||||
new MorphShapeExportSettings(exportMode, export.getZoom(), aaScale), evl);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2548,14 +2556,14 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se
|
||||
|
||||
if (export.isOptionEnabled(FrameExportMode.class)) {
|
||||
for (FrameExportMode exportMode : FrameExportMode.values()) {
|
||||
FrameExportSettings fes = new FrameExportSettings(exportMode, export.getZoom(), export.isTransparentFrameBackgroundEnabled());
|
||||
FrameExportSettings fes = new FrameExportSettings(exportMode, export.getZoom(), export.isTransparentFrameBackgroundEnabled(), aaScale);
|
||||
frameExporter.exportFrames(handler, Path.combine(selFile, FrameExportSettings.EXPORT_FOLDER_NAME, exportMode.name()), swf, 0, null, 1, fes, evl);
|
||||
}
|
||||
}
|
||||
|
||||
if (export.isOptionEnabled(SpriteExportMode.class)) {
|
||||
for (SpriteExportMode exportMode : SpriteExportMode.values()) {
|
||||
SpriteExportSettings ses = new SpriteExportSettings(exportMode, export.getZoom());
|
||||
SpriteExportSettings ses = new SpriteExportSettings(exportMode, export.getZoom(), aaScale);
|
||||
for (CharacterTag c : swf.getCharacters(false).values()) {
|
||||
if (c instanceof DefineSpriteTag) {
|
||||
frameExporter.exportSpriteFrames(handler, Path.combine(selFile, SpriteExportSettings.EXPORT_FOLDER_NAME, exportMode.name()), swf, c.getCharacterId(), null, 1, ses, evl);
|
||||
@@ -2566,7 +2574,7 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se
|
||||
|
||||
if (export.isOptionEnabled(ButtonExportMode.class)) {
|
||||
for (ButtonExportMode exportMode : ButtonExportMode.values()) {
|
||||
ButtonExportSettings bes = new ButtonExportSettings(exportMode, export.getZoom());
|
||||
ButtonExportSettings bes = new ButtonExportSettings(exportMode, export.getZoom(), aaScale);
|
||||
for (CharacterTag c : swf.getCharacters(false).values()) {
|
||||
if (c instanceof ButtonTag) {
|
||||
frameExporter.exportButtonFrames(handler, Path.combine(selFile, ButtonExportSettings.EXPORT_FOLDER_NAME, exportMode.name()), swf, c.getCharacterId(), null, bes, evl);
|
||||
@@ -5592,8 +5600,11 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se
|
||||
try {
|
||||
AbortRetryIgnoreHandler errorHandler = new GuiAbortRetryIgnoreHandler();
|
||||
|
||||
int aaScale = Configuration.reduceAntialiasConflationByScalingForExport.get() ? Configuration.reduceAntialiasConflationByScalingValueForExport.get() : 1;
|
||||
|
||||
|
||||
FrameExporter frameExporter = new FrameExporter();
|
||||
FrameExportSettings fes = new FrameExportSettings(mode, dialog.getZoom(), dialog.isTransparentFrameBackgroundEnabled());
|
||||
FrameExportSettings fes = new FrameExportSettings(mode, dialog.getZoom(), dialog.isTransparentFrameBackgroundEnabled(), aaScale);
|
||||
String subFolder = FrameExportSettings.EXPORT_FOLDER_NAME;
|
||||
if (fContainerId != 0) {
|
||||
subFolder = SpriteExportSettings.EXPORT_FOLDER_NAME;
|
||||
|
||||
Reference in New Issue
Block a user