Out of curiousity, I decided to test the antialiasing filter in GIMP and compare it to my script.
First and second are my scripts at different intensities (this is only the first most rudimentary pass) and the third is GIMP's antialias function
All three have been upscaled 2x with smartsize after the fact and then had a threshold effect of 127 applied.
Anyway, here is the first part of my script. Perhaps someone with enough knowledge of GIMP could make an equivalent script there. (unfortunately no comments because most of it was recorded in one go)
Code: Select all
App.Do( Environment, 'LayerDuplicate', {
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.Match
}
})
App.Do( Environment, 'NewRasterLayer', {
'General': {
'Opacity': 100,
'Name': r'Raster 1',
'IsVisible': App.Constants.Boolean.true,
'IsTransparencyLocked': App.Constants.Boolean.false,
'LinkSet': 0,
'UseHighlight': App.Constants.Boolean.false,
'PaletteHighlightColor': (255,255,64),
'GroupLink': App.Constants.Boolean.true,
'BlendMode': App.Constants.BlendMode.Normal
},
'BlendRanges': {
'BlendRangeGreen': (0,0,255,255,0,0,255,255),
'BlendRangeRed': (0,0,255,255,0,0,255,255),
'BlendRangeBlue': (0,0,255,255,0,0,255,255),
'BlendRangeGrey': (0,0,255,255,0,0,255,255)
},
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.Match
}
})
App.Do( Environment, 'Fill', {
'BlendMode': App.Constants.BlendMode.Normal,
'MatchMode': App.Constants.MatchMode.None,
'Material': {
'Color': (255,255,255),
'Pattern': None,
'Gradient': None,
'Texture': None,
'Identity': r'Material'
},
'UseForground': App.Constants.Boolean.true,
'Opacity': 100,
'Point': (1,1),
'SampleMerged': App.Constants.Boolean.false,
'Tolerance': 0,
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.Match
}
})
App.Do( Environment, 'SelectLayer', {
'Path': (0,-1,[],App.Constants.Boolean.false),
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Silent,
'AutoActionMode': App.Constants.AutoActionMode.Default
}
})
App.Do( Environment, 'LayerSetVisibility', {
'Command': App.Constants.ShowCommands.Hide,
'Path': (0,1,[],App.Constants.Boolean.false),
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Silent,
'AutoActionMode': App.Constants.AutoActionMode.Default
}
})
App.Do( Environment, 'SelectAll', {
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.Match
}
})
App.Do( Environment, 'SelectColorRange', {
'Action': App.Constants.ColorRangeAction.Subtract,
'ReferenceColor': (0,0,0),
'Softness': 1,
'Tolerance': 0,
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.Match
}
})
App.Do( Environment, 'ShapeBasedAntialias', {
'AntialiasType': App.Constants.AntialiasType.Inside,
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.Match
}
})
App.Do( Environment, 'SelectLayer', {
'Path': (0,1,[],App.Constants.Boolean.false),
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Silent,
'AutoActionMode': App.Constants.AutoActionMode.Default
}
})
App.Do( Environment, 'SelectPromote', {
'KeepSelection': None,
'LayerName': None,
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.Match
}
})
App.Do( Environment, 'SelectLayer', {
'Path': (0,-2,[],App.Constants.Boolean.false),
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Silent,
'AutoActionMode': App.Constants.AutoActionMode.Default
}
})
App.Do( Environment, 'SelectAll', {
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.Match
}
})
App.Do( Environment, 'SelectColorRange', {
'Action': App.Constants.ColorRangeAction.Subtract,
'ReferenceColor': (0,0,0),
'Softness': 1,
'Tolerance': 0,
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.Match
}
})
App.Do( Environment, 'ShapeBasedAntialias', {
'AntialiasType': App.Constants.AntialiasType.Outside,
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.Match
}
})
App.Do( Environment, 'SelectLayer', {
'Path': (0,1,[],App.Constants.Boolean.false),
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Silent,
'AutoActionMode': App.Constants.AutoActionMode.Default
}
})
App.Do( Environment, 'SelectPromote', {
'KeepSelection': None,
'LayerName': None,
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.Match
}
})
App.Do( Environment, 'SelectLayer', {
'Path': (0,-1,[],App.Constants.Boolean.false),
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Silent,
'AutoActionMode': App.Constants.AutoActionMode.Default
}
})
App.Do( Environment, 'NewRasterLayer', {
'General': {
'Opacity': 100,
'Name': r'Raster 2',
'IsVisible': App.Constants.Boolean.true,
'IsTransparencyLocked': App.Constants.Boolean.false,
'LinkSet': 0,
'UseHighlight': App.Constants.Boolean.false,
'PaletteHighlightColor': (255,255,64),
'GroupLink': App.Constants.Boolean.true,
'BlendMode': App.Constants.BlendMode.Normal
},
'BlendRanges': {
'BlendRangeGreen': (0,0,255,255,0,0,255,255),
'BlendRangeRed': (0,0,255,255,0,0,255,255),
'BlendRangeBlue': (0,0,255,255,0,0,255,255),
'BlendRangeGrey': (0,0,255,255,0,0,255,255)
},
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.Match
}
})
App.Do( Environment, 'SelectAll', {
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.Match
}
})
App.Do( Environment, 'Fill', {
'BlendMode': App.Constants.BlendMode.Normal,
'MatchMode': App.Constants.MatchMode.None,
'Material': {
'Color': (0,0,0),
'Pattern': None,
'Gradient': None,
'Texture': None,
'Identity': r'Material'
},
'UseForground': App.Constants.Boolean.false,
'Opacity': 100,
'Point': (1,1),
'SampleMerged': App.Constants.Boolean.false,
'Tolerance': 0,
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.Match
}
})
App.Do( Environment, 'SelectLayer', {
'Path': (0,1,[],App.Constants.Boolean.false),
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Silent,
'AutoActionMode': App.Constants.AutoActionMode.Default
}
})
App.Do( Environment, 'LayerMergeDown', {
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.Match
}
})
App.Do( Environment, 'SelectLayer', {
'Path': (0,1,[],App.Constants.Boolean.false),
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Silent,
'AutoActionMode': App.Constants.AutoActionMode.Default
}
})
App.Do( Environment, 'LayerProperties', {
'General': {
'Opacity': None,
'Name': None,
'IsVisible': None,
'IsTransparencyLocked': None,
'LinkSet': None,
'UseHighlight': None,
'PaletteHighlightColor': None,
'GroupLink': None,
'BlendMode': App.Constants.BlendMode.Difference
},
'BlendRanges': None,
'Path': (0,0,[],App.Constants.Boolean.false),
'BrightnessContrast': None,
'ChannelMixer': None,
'ColorBalance': None,
'CurveParams': None,
'HSL': None,
'Threshold': None,
'Levels': None,
'Posterize': None,
'Overlay': None,
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Silent,
'AutoActionMode': App.Constants.AutoActionMode.Default
}
})
App.Do( Environment, 'LayerMergeDown', {
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.Match
}
})
App.Do( Environment, 'SelectLayer', {
'Path': (0,-1,[],App.Constants.Boolean.false),
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Silent,
'AutoActionMode': App.Constants.AutoActionMode.Default
}
})
App.Do( Environment, 'DeleteLayer', {
'Path': None,
'MergeMask': App.Constants.Boolean.true,
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.Match
}
})
App.Do( Environment, 'DeleteLayer', {
'Path': None,
'MergeMask': App.Constants.Boolean.true,
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.Match
}
})
App.Do( Environment, 'LayerDuplicate', {
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.Match
}
})
App.Do( Environment, 'Soften', {
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.Match
}
})
App.Do( Environment, 'MaskFromImage', {
'CreateMaskFrom': App.Constants.CreateMaskFrom.Luminance,
'InvertMaskData': App.Constants.Boolean.false,
'SourceImage': 0,
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.Match
}
})
App.Do( Environment, 'SelectLayer', {
'Path': (1,1,[],App.Constants.Boolean.false),
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Silent,
'AutoActionMode': App.Constants.AutoActionMode.Default
}
})
App.Do( Environment, 'DeleteLayer', {
'Path': None,
'MergeMask': App.Constants.Boolean.true,
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.Match
}
})
App.Do( Environment, 'LayerMergeDown', {
'GeneralSettings': {
'ExecutionMode': App.Constants.ExecutionMode.Default,
'AutoActionMode': App.Constants.AutoActionMode.Match
}
})