Skip to content

paint.c plugins 1.0.0

Choose a tag to compare

@vancevoj vancevoj released this 06 Oct 01:02
· 367 commits to cfb505ef87fe8e90516d03dbcb2cbb806d05576b since this release

paint.c plugins 1.0.0

Ten optional effect plugins for paint.c, the
native C17 editor with the Paint.NET 5.1 workflow. Each one is a native,
independent re-creation of a popular Paint.NET plugin, made from its public
description (forum posts, help text, screenshots), or ported from source
its author published under a permissive license. Credit for the designs
goes to the original authors, named below and in each plugin's README.md.
These plugins are not affiliated with or endorsed by dotPDN LLC or the
original plugin authors; Paint.NET's own .NET plugins cannot be loaded by
paint.c.

Requires paint.c 0.1.1 or later; on 0.1.0 Align Object falls back to a
drop-down and effect notices are not shown.

The plugins

Plugin Menu What it does Original design and author Basis Download
AA's Assistant Effects > Object > AA's Assistant Smooths the jagged edge of a cut-out object so it blends into any background, and doubles as a simple alpha curve. AA's Assistant by dpy, after an idea by Boude (original) clean room re-creation Linux / Windows
Align Object Effects > Object > Align Object Moves the object on a transparent layer to an edge, a corner or the center of the canvas or the selection. Align Object by xod, helped by MJW (original) clean room re-creation Linux / Windows
Bevel Object Effects > Object > Bevel Object Gives an object on a transparent layer, or a selection, a raised and lit bevelled edge with an optional drop shadow. Bevel Object and Bevel Selection by BoltBait (Bevel Selection with Ed Harvey) (original) clean room re-creation Linux / Windows
Content Aware Fill Effects > Selection > Content Aware Fill Removes an object or a blemish by filling the selection with texture synthesized from its surroundings. Content Aware Fill by null54, after Resynthesizer by Lloyd Konneker and the research of Paul Harrison (original) clean room re-creation Linux / Windows
Gradient Mapping Adjustments > Gradient Mapping Recolors an image by looking up each pixel's luminosity, color channel, hue, saturation or alpha in a multi-color gradient. Gradient Mapping by pyrochild (Zach Walker) (original) port of the MIT source (LICENSE-original.txt in the zip) Linux / Windows
Grid / Checkerboard Effects > Render > Grid / Checkerboard Draws a grid of lines, a checkerboard or a grid of dots with any cell size, line width and two colors with alpha. Grid Maker by BoltBait and Illnab1024, and Grid & Checker Maker by MadJik (original) clean room re-creation Linux / Windows
Grim Color Reaper Effects > Color > Grim Color Reaper Removes a background color and recovers what was blended with it, so soft edges, glows and shadows become partly transparent without a halo. Grim Color Reaper by Jotaf, continued as Kill Color Keeper by Pratyush (original) clean room re-creation Linux / Windows
Perspective Effects > Distort > Perspective Keystone and perspective transforms set by three ratios, vertical or horizontal, as a true perspective or a plain trapezoid. Perspective by dpy (original) clean room re-creation Linux / Windows
Shape3D Effects > Render > Shape3D Wraps the image around a 3D sphere, cylinder or box and renders it with a perspective camera, lighting and a highlight. Shape3D by MKT, with later fixes by MJW and toe_head2001 (original) clean room re-creation Linux / Windows
Water Reflection Effects > Distort > Water Reflection Turns the lower part of the selection into a rippled mirror image of what is above a waterline, like a lake reflecting a skyline. Water Reflection by MadJik, after a reflection script by Tom Jackson (original) clean room re-creation Linux / Windows

All ten in one zip per system:
paintc-plugins-all-1.0.0-linux-x86_64.zip,
paintc-plugins-all-1.0.0-windows-x64.zip.

Every zip holds one top folder per plugin with the library, its README.md
(controls, credits), a screenshot and, for ported code, the original
license as LICENSE-original.txt.

Installing

Unzip into the plugins folder of your system (create it if it is missing),
so that each plugin ends up as .../plugins/<name>/<name>.so (.dll), then
restart paint.c. The effects appear in the menus listed above; their
tooltip names the plugin, its author and version.

System Download Plugins folder
Linux x86_64 (glibc 2.31 or newer, the same systems as the AppImage) *-linux-x86_64.zip ~/.local/share/paintc/plugins/ ($XDG_DATA_HOME/paintc/plugins/ when that is set)
Windows 10 and 11 x64 *-windows-x64.zip %APPDATA%\paintc\plugins\, or a plugins folder next to paintc.exe of the portable zip
macOS not in this release build them from source: docs/PLUGINS.md
# Linux, all plugins
mkdir -p ~/.local/share/paintc/plugins
unzip paintc-plugins-all-1.0.0-linux-x86_64.zip -d ~/.local/share/paintc/plugins
# Windows (PowerShell), all plugins
Expand-Archive paintc-plugins-all-1.0.0-windows-x64.zip "$env:APPDATA\paintc\plugins"

Effects > Plugin Errors... lists any library paint.c could not load;
paintc --disable-plugins starts without plugins; delete a plugin's folder
to remove it. Plugins run inside paint.c with the program's rights: install
plugins only from sources you trust. More: docs/PLUGINS.md in the source.

How they were built and checked

  • Built from commit cfb505e with
    packaging/plugins/build-plugins.sh: Linux in the Ubuntu 20.04 container
    of the AppImage (GCC 13), Windows cross built with mingw-w64 (UCRT).
    Every library exports fx_entry; the Linux ones need no glibc symbol
    newer than 2.31 and only glibc libraries, the Windows ones import only
    KERNEL32 and the C runtime. The zips are reproducible.
  • Load tested with the paint.c 0.1.1 release builds: the Linux zips (each
    zip, then the all-plugins zip) with the AppImage on X11, the Windows zips
    with the installed paintc.exe under Wine: all ten plugins loaded with
    no Plugin Errors entry, and every effect opened its dialog and applied
    (one History item each).

Checksums (SHA-256)

506f1f9ff3595953731ed58882d43d957b897c9c42530dc708d71965dd9d7ef8  paintc-plugin-aa_assistant-1.0.0-linux-x86_64.zip
4be5204d791c9328346ba149258bd5a24d42730ea721a0b3401144162703824c  paintc-plugin-aa_assistant-1.0.0-windows-x64.zip
8684279534d041c320beab2f16fd0008ed5437ca7a4b0b1549af2cd9ca812846  paintc-plugin-align_object-1.0.0-linux-x86_64.zip
c7fc6cd48d6c7e670c814e2e3a0592e3a4215b6c82e4acb8855de3789311786d  paintc-plugin-align_object-1.0.0-windows-x64.zip
7d0be54effe55e87d637387a7590a3f7b830adf3d8c66655a4e81d2cd89b8954  paintc-plugin-bevel_object-1.0.0-linux-x86_64.zip
8ec13d253bb48348c10fd6293ac0367473fa582b12ed78c45bc69ebf08100fa5  paintc-plugin-bevel_object-1.0.0-windows-x64.zip
66160afcc602b167b36d69712a37d3a2f7663ad89fd05d766d4a72cf43d04c10  paintc-plugin-content_aware_fill-1.0.0-linux-x86_64.zip
b1214bdca402dc0883421fe776602d28293f488fa7b21c6e9f0ac4d270ff1147  paintc-plugin-content_aware_fill-1.0.0-windows-x64.zip
522c900e029e4c997fdd44f39964928ae3d7cbd077f6796fc5f490c62d29360c  paintc-plugin-gradient_mapping-1.0.0-linux-x86_64.zip
2e7d8863b34f13ca32fda0a83dc200566f2cf2c8a73a2f93b0db582c9c08f191  paintc-plugin-gradient_mapping-1.0.0-windows-x64.zip
d45748f531007046e02e243b38054b5268058d84e3125db6f4cc7f3d5b44946e  paintc-plugin-grid_checkerboard-1.0.0-linux-x86_64.zip
95bf900e05b3d2c14ce50657cb087f34cc4e194c75d06db6c8fd16e913d4c22c  paintc-plugin-grid_checkerboard-1.0.0-windows-x64.zip
ad56fa572119226164c5c74f6edf23a2fffc291ddba1ce9cec49815ed5b49e55  paintc-plugin-grim_color_reaper-1.0.0-linux-x86_64.zip
9a11fb6ef98e13445e3e405199fd4d720037a2a0b6c55c60f88510028944efd6  paintc-plugin-grim_color_reaper-1.0.0-windows-x64.zip
cc4ed4e444a7e697fb3f0e6754c2421823f8c2e403d03811701a163bfcdc6997  paintc-plugin-perspective-1.0.0-linux-x86_64.zip
76d9df648d84f1e98ae5a02f9eca414e4f191f98d2b116bd3b066750f79c3fc5  paintc-plugin-perspective-1.0.0-windows-x64.zip
5948a6ffab8a3a2d090c5d58b4f18bec41d23b926d14e8a5ee05924e60725a52  paintc-plugin-shape3d-1.0.0-linux-x86_64.zip
67b4e961a531584f4329a8e2b8eb5fdc49ad1d1beda3a3755c1d5ab4c813628a  paintc-plugin-shape3d-1.0.0-windows-x64.zip
99dd65416c7c10e7a738f3159976806dac1842460278597485e8158513d70015  paintc-plugin-water_reflection-1.0.0-linux-x86_64.zip
2c051bda967654f2e5517c4c993eef20bd0a19c3ca734a7ee2e83b562f16ddd5  paintc-plugin-water_reflection-1.0.0-windows-x64.zip
0960040bf63be14e0badba7ba649111cc227d70922087f79016b1f788b4eb1e3  paintc-plugins-all-1.0.0-linux-x86_64.zip
84f5eef5662a9d97ff6b563adcdb49a2e72889a55edd1786f2e1c5ce884bfa21  paintc-plugins-all-1.0.0-windows-x64.zip

SHA256SUMS in this release has the same lines: sha256sum -c SHA256SUMS --ignore-missing (Linux), Get-FileHash <zip> (PowerShell).

License

The plugins are MIT licensed like paint.c. Gradient Mapping is ported from
the MIT-licensed source of pyrochild's plugin; its license ships with it as
LICENSE-original.txt. The other nine were written from the public
descriptions of the originals, without their code.