Comment éviter toute sorte de recompression sur les images ?

We are a photography forum.

We want to limit image uploads to 1.2 MB but avoid any kind of recompression when the image complies with that limit.

We would prefer that if the images is bigger, the user is adviced and don’t let him upload it.
But I have not found how to do that.

When someones uploads an image that is a bit more heavy, the system agressively redimensions and recompress it, and users complain that the forum has ruined their photo (less detail, color gradation, etc).

With the addition image composer options (recently) things are worse. Even images that weight less than 1.2 MB are recompressed.

We want to avoid any kind of intervention on the user image (it is his responsability tweaking the image to his like with the limitation in weight and size).
At least with images that adhere to given limitation.

How to best configure options to get this behaviour?

I think we cannot avoid recompression in images that do not complain with limits, but at least we want to avoid it in images that comply and control compression of the ones that exceed.

Forum tends to compress them too much and give results like 200KB and 900 pixels in large side.

1 « J'aime »

I think you’d need a plugin to override those behaviors.

Or have them upload elsewhere and link.

But I think there is a plugin or theme component that allows uploading images elsewhere like minio. Something like that might be what you want.

See Azure Blob Storage Plugin and Video Upload to YouTube and Vimeo using Theme Component as examples. You’d need to decide where to host the images and write a similar theme component.

1 « J'aime »

mmm… we want the images in our server as we have no control of other sites where images can be lost.

I have assumed we are not going to be able to completly disable image processing.

We are glad just if the the system don’t touch images that comply to limits (1.2 MB in file size and 2048 pixels in large side) and if we can tweak a bit the recompression for that images that exceed limits.

I think I could managed to get first goal: just I have stablished limit in file size to 1230 KB and the threshold in image composer to the same size in bytes.

Now it seems that images with less than that size are not recompressed (as it worked some versions ago, it seems image composer has been introduced recently).

But when you try to upload an image say 2100 pixels and 3 MB you get weird results.
It is resized to something like 900 pixels and 200 KB other times 1024 and 500 KB…
The image loses its detail completly and the color grading.

I have configured image compoler limits to 1920 pixels and jpeg compression quality to 90, so I would have expected it to recompress to that size (I have tested with images that can be compressed with 90 quality and 1920 pixels easily within the 1.2 MB limit).
But systems keeps compressing it far too much.

3 « J'aime »

Avez-vous modifié les paramètres du site relatifs à la taille maximale des images, ainsi qu’à leur largeur et hauteur ? Ce devrait être votre première démarche.

1 « J'aime »

Désolé pour le retard. Je n’avais pas vu la réponse.

Oui, comme je l’ai expliqué précédemment, nous avons fixé une limite de 1,2 Mo et une limite de résolution de 4 MP.

Lorsque l’image ne respecte pas cette limite, le système la compresse fortement, parfois avec des résultats aberrants comme 600 pixels ou 1000 pixels de large pour une image qui a été téléchargée avec 1920 ou 2048 pixels de large.
La perte de qualité est plus qu’évidente pour un œil averti : textures manquantes, halos, mauvaise colorimétrie…

Avec les récentes mises à niveau, même les images qui respectent les limites subissent une “amélioration” du système et sont compressées avec des pertes de qualité.

Nous avons ajusté la “qualité jpg originale de recomp.”, et l’avons réglée à 100 % dans l’espoir d’éviter la recomp. Cela semble fonctionner, mais je ne suis pas sûr si elle est recomp. de toute façon (mais au moins, il n’y a pas de perte de qualité visible).

1 « J'aime »

Vous devez ajuster le composer media optimization image bytes optimization threshold pour désactiver l’optimisation de la taille côté client des images inférieures à cette taille. La valeur par défaut s’applique aux images supérieures à 500 Ko, vous souhaitez donc augmenter ce paramètre à 1,2 Mo.

2 « J'aime »

Devrions-nous améliorer la description de ces paramètres de site pour clarifier leur fonctionnement ? :thinking:

1 « J'aime »

Je pense que oui, mais la rédaction de textes n’est pas mon point fort.

Actuellement, c’est

Taille minimale du fichier image pour déclencher l’optimisation côté client

Peut-être

Taille minimale du fichier image pour déclencher le redimensionnement / la compression avant le téléchargement

?

2 « J'aime »

Peut-être

Les images plus grandes que celle-ci seront redimensionnées et compressées par le client

4 « J'aime »