jfreundJFPainter
JFPainter

Plugins

JFPainter wächst auf drei Wegen: mit Plugins, die für JFPainter gemacht sind, mit der Filtersammlung von G'MIC-Qt und mit vielen der paint.net-Plugins, die du vielleicht schon hast.

Plugins gibt es auf dem Desktop. Sie laufen unter Windows und Linux, nicht im Browser und nicht auf Android.

Plugins für JFPainter

JFPainter hat eine eigene Plugin-Schnittstelle. Ein Plugin ist eine kleine Bibliotheksdatei, unter Windows eine .dll und unter Linux eine .so, die du in einen von drei Ordnern neben dem Programm legst: Effects, FileTypes oder Shapes. Nach einem Neustart taucht auf, was es mitbringt, und zwar dort, wo es hingehört.

JFPainter prüft jede Plugin-Datei, bevor es sie lädt, und weist Dateien ab, die sich nicht an die Regeln halten. Ein Plugin, das abstürzt, wird mit einer Meldung abgeschaltet, statt die App mitzureißen, und die Einstellungsseite Plugin-Fehler zeigt, was geladen wurde und was nicht.

  • EffekteMit eigenen Einstellungen: Zahlen, Winkel, an und aus, Auswahllisten, Farben, eine Position und ein Zufallswert. Den Dialog dazu baut JFPainter.
  • KorrekturenIm Menü Korrekturen nach den eingebauten aufgeführt und genauso zu benutzen.
  • DateiformateÖffnen und speichern Formate, die JFPainter noch nicht kennt. QOI ist eines und liegt als Beispiel bei.
  • FormenNeue Formen für das Formwerkzeug, neben den eingebauten.

G'MIC-Qt, eine große Filtersammlung

Installiere die eigenständige Version von G'MIC-Qt getrennt; die Version, die in einem anderen Bildprogramm steckt, reicht nicht. Liegt sie im Suchpfad deines Systems oder sagst du JFPainter, wo sie liegt, öffnet Effekte › G'MIC-Qt ihr Filterfenster. JFPainter wartet dabei mit einem Abbrechen-Knopf, der sie jederzeit beendet.

Ein gleich großes Ergebnis kommt durch deine Auswahl zurück, als ein Schritt, den du rückgängig machen kannst. Mehrere Ergebnisse oder eines in anderer Größe öffnen als neues Bild mit je einer Ebene. Windows und Linux.

Geht

  • Die Filter von G'MIC-Qt auf der aktiven Ebene
  • Das Ergebnis durch die Auswahl, als ein Rückgängig-Schritt
  • Mehrere Ergebnisse als neues Bild mit Ebenen
  • Abbrechen jederzeit, das Bild bleibt, wie es war

Noch nicht

  • Mehr als eine Ebene auf einmal als Eingabe
  • Mehr als 8 Bit pro Kanal, Farbprofile oder HDR
  • G'MIC-Qt gehört nicht zu JFPainter; du installierst es selbst

paint.net-Plugins

Das Windows-Setup von JFPainter bringt einen Helfer mit, der vorhandene paint.net-Plugins unverändert ausführt: Effekte beider Generationen, auch GPU-Effekte, und Dateiformate. Er nutzt deine eigene Installation von paint.net 5.1 und deren Laufzeit, du brauchst also nichts weiter, und JFPainter liefert keinen Teil von paint.net mit.

Plugin entpacken, Effekte nach Effects und Dateiformate nach FileTypes kopieren, neu starten. JFPainter findet auch die Plugins, die du in paint.net schon benutzt. Die Effekte stehen unter Effekte › Paint.NET-Plugins, und wenn etwas nicht laufen kann, sagt dieses Menü, warum.

Unter Linux führt JFPainter denselben Helfer über Wine aus; das braucht eine eigene Einrichtung. Getestet wurde mit WineHQ 11.21 und einem experimentellen paint.net-Paket für Wine.

Geht

  • Klassische und neuere Effekte, auf dem Prozessor und auf der Grafikkarte, mit Auswahl, Abbrechen, Rückgängig und Wiederholen
  • Dateiformat-Plugins: ihre Formate öffnen und speichern
  • Plugins in eigenen Ordnern, mit den Bibliotheken, die sie mitbringen
  • Von Hand ausprobiert im November 2026: alle 47 Effekte des Plugin-Pakets von BoltBait, die 20 veröffentlichten GPU-Effektbeispiele und ein WebP-Dateiformat-Plugin

Noch nicht

  • Die Regler und Farbkreise von paint.net selbst: Die Einstellungen eines Plugins erscheinen in einer schlichten Liste mit seinen Beschriftungen
  • Eine Live-Vorschau: Erst kommt der Dialog, dann das Ergebnis
  • Effekte, die andere Ebenen lesen, sehen nur die aktive
  • Die Speicherdialoge von Dateiformat-Plugins
  • 8bf-Filter: Ein Plugin, das sie ausführt, öffnet seinen Dialog, aber ein Filter ist noch nicht gelaufen
  • Nach einem Update von paint.net können GPU-Effekte ausfallen, bis der Helfer angepasst ist

Ein Plugin läuft mit deinen Rechten, wie jedes andere Programm. Installiere nur Plugins, denen du vertraust.

Ein eigenes Plugin schreiben

Plugins für JFPainter schreibst du in Rust. Ein Plugin ist eine kleine no_std-Bibliothek mit einem einzigen Export, pn_plugin_query, und hängt nur von einer Crate ab: jflib-plugin, die die Strukturen mitbringt, die JFPainter erwartet, und sichere Sichten auf die Pixel.

Die Dokumente im JFLib-Repository verwenden noch den Arbeitsnamen der App, PaintCraft.

  1. Lies die Plugin-Anleitung und sieh dir die Beispiel-Plugins an: Kanäle tauschen, Sepia-Stärke, ein QOI-Dateiformat, zwei Formen und zwei Demo-Effekte.
  2. Beschreibe, was dein Plugin hinzufügt: Effekte mit ihren Einstellungen, Dateiformate mit Öffnen und Speichern oder Formen.
  3. Bau es mit python build_rs.py plugin NAME für Windows, Linux oder beide. Der Build prüft das Ergebnis so, wie der Lader von JFPainter es tut.
  4. Kopiere die .dll oder .so nach Effects, FileTypes oder Shapes, oder starte die App beim Testen mit --plugins=DIR.
// plugins/NAME/lib.rs, aus der Plugin-Anleitung
#![no_std]
#![deny(unsafe_code)]

use plugin::*;

struct Invert;

impl Effect for Invert {
    type Aux = ();

    fn render(fx: &mut Fx<'_>, _: Option<&()>) -> Result<(), i32> {
        for y in fx.y0..fx.y1 {
            if fx.cancelled() {
                return Err(ERR_CANCEL);
            }
            let (src, dst) = fx.rows(y);
            for (d, &p) in dst.iter_mut().zip(src) {
                *d = p ^ 0x00FF_FFFF;
            }
        }
        Ok(())
    }
}
// dann die Beschreibungen und plugin::entry!(query)
Ein Effekt läuft auf vielen Threads gleichzeitig, und jedes Pixel darf nur vom Bild, den Einstellungen und der eigenen Vorbereitung des Effekts abhängen, nie davon, wie die Arbeit aufgeteilt ist.

Im Browser testen

Bald öffnet sich JFPainter direkt hier, in einem Fenster auf dieser Seite, ohne Installation. Die Browser-Fassung hat die eingebauten Werkzeuge und Effekte; Plugins brauchen die Desktop-App.

Die Web-Fassung von JFPainter in Chrome, im dunklen Design, mit derselben Zeichnung geöffnet: das Wort Hallo, ein blaues Quadrat, ein grüner Kreis, ein orangefarbener Stern und ein pinker Pinselstrich, dazu die Fenster Werkzeuge, Farben, Verlauf und Ebenen.
Die Web-Fassung heute, in Chrome. Der Knopf öffnet sie hier, sobald sie online ist.
Teil von jfreund.orgGebaut mit JFLibImpressumDatenschutz