Re: Dérapage image_reduire

JLuc <[email protected]>
Newsgroups gmane.comp.web.spip.devel
Message-ID <[email protected]>
Le 22/02/2020 à 09:45, JLuc a écrit :
> Le 20/02/2020 à 14:23, JLuc a écrit :
>> Le ticket https://core.spip.net/issues/4430 présente le problème :
>> image_reduire{200,200} produit parfois des images de 201px de haut ce qui semble bien peu de différence
>> mais fait déraper grave certaines mises en page : https://core.spip.net/attachments/download/1140/screenshot.jpg
>>
>> Le problème se situe au niveau de image_ratio qui,
>> par exemple recevant (427x427) pour un ratio de 1:1 renvoie (200 x 201) !
>>
>> C'est à cause d'un ceil, qui fait déraper de 1.0000000000000000 le résultat de certains calculs
>> en raison des précédentes conversions binaires <-> décimal.
>>
>> La solution proposée est simple : remplacer le le ceil par un round :
>> - le round évite ces ripages aux conséquences si disgracieuses
>> - l'erreur maximale d'arrondi avec round est de 0.5 alors qu'elle est de 1 avec ceil
>>
>> Cette correction peut elle être intégrée ?
> 
> J'ai déposé sur https://contrib.spip.net/tester_image_ratio un programme de test
> de _image_ratio avec ceil et avec round.
> 
> On passe un argument debut par l’url et on teste toutes les valeurs entre debut et debut+100.
> Chacune de ces valeurs $z va être sucessivement la dimension cible de _image_ratio
> pour des valeurs d’entrées allant de $z à $z+100.
> On teste à la fois la fonction qui utilise ceil ET sa version lorsqu'elle utilise round.
> 
> Comme c’est un carré, le résultat doit être un carré aussi.
> On compte les erreurs pour ceil et pour round : il y en a plein pour round.
> Je n'en ai jamais trouvé pour round.

Ceux qui ont lu auront corrigé : c'est pour "ceil" (= le code actuel) qu'il y a plein d'erreur ;
et je n'en ai jamais trouvé pour round (= le fix).


> Ça ne teste que les images carrées mais ça suffit à mon avis.
> 
> Exemple : 29 d'erreurs pour la dimension cible 1000x1000 testée pour les dimensions d'entrées de 1000x1000 à 1100x1100
> 
> JL
> 
> _______________________________________________
> liste: https://listes.rezo.net/mailman/listinfo/spip-dev
> doc: https://www.spip.net/
> dev: https://core.spip.net/
> irc://irc.freenode.net/spip


_______________________________________________
liste: https://listes.rezo.net/mailman/listinfo/spip-dev
doc: https://www.spip.net/
dev: https://core.spip.net/
irc://irc.freenode.net/spip
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.