
Chi utilizza Linux per lavorare con le immagini conosce bene la mancanza di alcune applicazioni storicamente legate a Windows. Tra queste c’è Paint.NET, un editor grafico apprezzato per la sua interfaccia intuitiva e gli strumenti di modifica delle immagini accessibili anche agli utenti meno esperti. Il progetto paint.js punta a colmare questa lacuna attraverso una versione non ufficiale, sperimentale e multipiattaforma sviluppata interamente in JavaScript.
L’applicazione è disponibile sia come servizio utilizzabile dal browser sia come programma desktop basato su Electron. Questo approccio consente di utilizzare lo stesso codice su Linux, Windows e macOS, offrendo un’esperienza di editing simile a quella del software originale senza richiedere necessariamente l’installazione di Windows.
Il progetto è sviluppato da LabyStudio e il suo sviluppo è iniziato nel febbraio 2024 con l’obiettivo di ricreare un ambiente di lavoro familiare a chi ha utilizzato Paint.NET per anni. Il modello di modifica delle immagini si basa su Paint.NET 3.36.7, una versione storica distribuita con una licenza compatibile con MIT, mentre l’interfaccia e il comportamento generale riprendono le versioni più recenti, a partire dalla serie 5.1.12.
paint.js rimane un progetto indipendente e non ufficiale: non è sviluppato né distribuito dal team originale di Paint.NET. Il suo obiettivo principale è offrire un’alternativa concreta agli utenti che desiderano strumenti grafici semplici da utilizzare, senza rinunciare a funzionalità più avanzate come i livelli, la gestione dei caratteri e la personalizzazione delle scorciatoie.
Le funzionalità di paint.js per Linux e desktop
Uno degli aspetti più interessanti di paint.js è la possibilità di utilizzare l’applicazione attraverso diverse piattaforme, mantenendo un’interfaccia coerente. La versione web permette di modificare immagini direttamente nel browser, mentre quella desktop basata su Electron offre un’esperienza più vicina a un programma tradizionale installato sul sistema.
L’editor include diverse funzionalità dedicate alla personalizzazione dell’ambiente di lavoro. La sezione Fonts consente di aggiungere caratteri attraverso un selettore di file oppure trascinandoli nell’applicazione. I font possono essere visualizzati in anteprima e rimossi individualmente, mentre quelli aggiunti vengono conservati localmente e resi disponibili allo strumento Testo.
Anche la gestione della tastiera è personalizzabile. Una pagina dedicata permette di cercare le scorciatoie disponibili, modificarne le associazioni, cancellarle e ripristinare le impostazioni originali. Le preferenze relative all’interfaccia, alla tela di disegno, agli strumenti, alla penna, alle finestre e alle finestre di dialogo vengono salvate localmente e ripristinate nelle sessioni successive.
La versione web offre inoltre funzionalità orientate all’utilizzo tramite browser, comprese operazioni sui file, appunti e trascinamento degli elementi. L’applicazione distribuita sul web può funzionare anche offline, sebbene alcune capacità dipendano dal browser e dalla configurazione utilizzata. Per determinate operazioni, tra cui alcune funzionalità degli appunti e del file system, è necessario utilizzare una connessione HTTPS oppure localhost.
Esistono comunque alcune differenze rispetto al programma originale. Il supporto viene verificato principalmente sui browser basati su Chromium, mentre Firefox e Safari non sono testati regolarmente. Mancano ancora l’apertura dei file recenti, l’acquisizione da scanner e fotocamere, alcuni comandi per i profili colore e il caricamento dei plugin nativi di Paint.NET.
Le prestazioni possono inoltre risentire delle dimensioni dei documenti, degli effetti con raggi elevati e delle selezioni complesse. Per questo motivo, paint.js è particolarmente interessante per le attività grafiche quotidiane, ma potrebbe non sostituire completamente Paint.NET nei flussi di lavoro più impegnativi.
Formati immagine supportati e limiti del progetto
paint.js supporta numerosi formati grafici, consentendo di aprire e salvare immagini utilizzate comunemente sul web e nei programmi di grafica. Tra quelli disponibili figurano PNG, JPEG, JPEG XL, AVIF e WebP, oltre a BMP, TIFF, GIF, TGA e DDS.
Il supporto varia però in base al formato e alle operazioni richieste. Per esempio, i file HEIC e HEIF possono essere aperti grazie al codec incluso nel progetto, ma non possono essere salvati nello stesso formato. Anche JPEG XR, conosciuto attraverso le estensioni JXR, WDP e WMP, presenta limitazioni: l’apertura è possibile per immagini RGB con canali a 8 bit, 16 bit o virgola mobile a 32 bit, mentre il salvataggio non è disponibile.

Per altri formati esistono restrizioni specifiche. I file DDS vengono salvati esclusivamente come immagini a 32 bit non compresse, mentre TIFF supporta il salvataggio di immagini RGBA non compresse. Nel caso delle GIF, l’esportazione produce una singola immagine statica basata su palette, senza mantenere l’animazione. I file BMP vengono salvati come immagini a 32 bit con canale alfa, mentre TGA supporta immagini a 32 bit non compresse.
Merita attenzione anche il formato nativo PDN di Paint.NET. paint.js può leggere e scrivere documenti di questo tipo in maniera limitata, supportando i livelli bitmap e alcune proprietà di base. Durante il salvataggio è previsto un massimo di 64 livelli, ma non vengono preservati la cronologia delle modifiche, le selezioni, i dati dei plugin e alcune funzionalità più recenti del formato.
Queste limitazioni sono importanti per chi intende trasferire progetti esistenti da Paint.NET. Prima di convertire o sovrascrivere un documento complesso, è opportuno conservare una copia originale e verificare che livelli e proprietà necessari siano mantenuti correttamente.
Come installare paint.js
paint.js viene rilasciato per Linux attraverso AppImage, per gli utenti Arch Linux e delle sue derivate è disponibiel anche attraverso AUR. Abbiamo testato paint.js su Arch Linux con ambiente desktop GNOME 51 utilizzando la versione AppImage (immmagini articolo).
Per gli utenti Linux, paint.js rappresenta comunque una soluzione interessante per avvicinarsi all’esperienza di Paint.NET senza ricorrere a macchine virtuali o configurazioni dedicate a Windows. La disponibilità via browser riduce le barriere all’utilizzo, mentre la versione Electron permette di integrare il progetto nelle normali attività desktop. Il suo sviluppo rimane quello di un proof of concept, ma l’ampio supporto ai formati e le opzioni di personalizzazione lo rendono un progetto da seguire per chi cerca un editor raster multipiattaforma.