PintaProject / Pinta

Simple GTK# Paint Program
http://www.pinta-project.com/
MIT License
1.82k stars 276 forks source link

Feature request: Support HEIC #653

Open voltagex opened 9 months ago

voltagex commented 9 months ago

I am using 2.1.1 via Flatpak on Fedora 39. I'd like to be able to edit HEIC files.

cameronwhite commented 9 months ago

It looks like there is a GDK pixbuf loader for those formats (e.g. https://github.com/linuxmint/pix/issues/134), so I think this should just work if that's installed (although we'd need to verify that)

If it does work, this would need to be added for:

cameronwhite commented 9 months ago

Testing on Ubuntu 23.10, installing heif-gdk-pixbuf allows a HEIC image to be loaded successfully in Pinta. But the pixbuf loader doesn't seem to have implemented support for saving, so any edits would need to be saved to another file format.

Testing on macOS, the libhheif package from Homebrew doesn't bundle the pixbuf loader currently

JGCarroll commented 9 months ago

For the snap, it'd be best to treat it the same as the webp pix-buf which was added to the Gnome extension so all other Gnome snaps could benefit from it too. Similarly I feel this is the kind of thing that would make sense in the Flatpak runtime rather than the Pinta Flatpak itself, but I'm less confident there if/how that would be done.

cameronwhite commented 9 months ago

Thanks! Yeah I agree it would be handy to have this in the runtime by default so that other apps can benefit easily

JGCarroll commented 5 months ago

For the snap side of this, I've seen this pop up in the news recently: https://www.omgubuntu.co.uk/2024/04/ubuntu-now-supports-heif-images

If HEIC support is in the default 24.04 install, it suggests that it's in the main repositories and could likely end up being trivial to get into Pinta's snap when it's repackaged for Core24 (which may be before of after 2.2 depending on timelines involved). Of course, this is really assuming it'll end up in the Gnome snap for Core24 since that's where it needs to be to work conveniently & for other apps to benefit.