Uh oh!
There was an error while loading. Please reload this page.
[RFC] Refactor image handling - #28279
Conversation
J0WI
commented
Aug 18, 2022
CarlSchwan
commented
Aug 22, 2022
Nice work, I'll review it tomorrow |
icewind1991
left a comment
There was a problem hiding this comment.
Overall a great step forward
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Found 100 potential problems in the proposed changes. Check the Files changed tab for more details.
There was a problem hiding this comment.
Found 100 potential problems in the proposed changes. Check the Files changed tab for more details.
sorbaugh
commented
Aug 16, 2024
Hello @J0WI, it seems that some of the tickets you mentioned in the original comment have already been addressed so some the points have been addressed. I'm reopening this complex topic and would like to treat this as an "Overview" issue and maybe rescope it to the remaining open issues 🚀 |
There was a problem hiding this comment.
Psalm found more than 20 potential problems in the proposed changes. Check the Files changed tab for more details.
susnux
commented
Jun 9, 2026
Hello 👋 |
There are various tickets about poor image handling in Nextcloud.
Nextcloud uses the
OC_Imagewrapper which uses GD. But GD is slow and does not support formats like SVG. That's why some modules (avatar, preview and theming app) have implemented their own image handling.This draft aims to replace the legacy
OC_Imageclass with a genericImageclass and a set of compatible backends using GD, Imagick, Gmagick or Vips. It turned out, that theIImageinterface itself does not provide all methods and not all of them are meaningful for all backends (notably the obsolete GD resource). There's also no simple way to add additional file format support.An alternative approach would be to pull a high level image library like intervention/image or imagine/imagine.
The goal is, to provide a generic image handling that uses the fastest backend and all common and modern file types available on the host. And last but not least, to replace direct Imagick usage in avatar, preview and theming app and finally deprecate the legacy
OC_Imageclass.