ImageReductor

Programmation d'applications complexes
Avatar de l’utilisateur
blendman
Messages : 2017
Inscription : sam. 19/févr./2011 12:46

ImageReductor

Message par blendman »

salut

Suite au message de Dobro (http://www.purebasic.fr/french/viewtopi ... 26#p163826) sur la réduction du poids d'une image, j'ai essayé de réaliser un petit programme pour diminuer le nombre de couleurs dans une image (couleurs indexées).

Le programme permet de réduire les couleurs et l'alpha si besoin.



Voici ce que j'obtiens, qu'en pensez-vous ?

[code à modifié]

Merci à Dobro qui m'a quelques pistes intéressantes !
Grâce à lui, mes jeux vont être sensiblement allégé au niveau du poids, et sur Android c'est véritablement énorme, car je suis limité à 50Mo par jeu.

Sur mes tests, j'ai réduis jusque 5 à 6 fois le poids de certaines images, donc, ça peut signifier jusque 2 à 3 fois plus contenu pour le même poids :).

J'ai quelques questions :
- si vous avez d'autres idées pour réduire encore le poids (sans trop perdre en qualité), ça m'intéresse.
- je pensais utiliser une diffusion avec du noise pour l'alpha, mais je ne sais pas trop comment m'y prendre à vrai dire ^^
- savez comment je peux connaître le poids final de l'image (avant de l'avoir sauvegarder) au format png, car le format jpg dépend de la compression ?
Pour le poids, je pensais faire :
Poids final = (width * height * 3 / 1024)
ça c'est pour le 24 bits, ensuite, je dois diviser le résultat en fonction du nombre de couleur, mais c'est là que je coince un peu.
Dernière modification par blendman le lun. 23/juin/2014 10:46, modifié 1 fois.
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: ImageReductor

Message par Backup »

chez moi j'obtiens une image vide (blanche ) 8O
alors effectivement , c'est reduit :lol:

peut etre revoir le system de sauvegarde non ?

j'aime bien avoir a coté de l'image original l'image reduite avec le nom changé
genre une image qui se nomme "toto.jpg" , donnerai a coté d'elle (comme ça pas besoin de chercher le resultat )
"reducted_toto.jpg" ...
t'en penses quoi ?
Avatar de l’utilisateur
Ar-S
Messages : 9472
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: ImageReductor

Message par Ar-S »

Le resultat est vraiment pas mal du tout même si le calcul pour une image d'APN est long (faudra threader ça pour pas que ça freeze la fenêtre)
J'ai fait le petit test ci dessous sur un bout de photo jpeg. Ce qui est bizarre c'est qu'en mettant 1 ou 2 couleurs, notre image en a plus !
P.S : J'ai pas essayé de sauvegardes ni de d'image avec alpha channel.
Image
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
blendman
Messages : 2017
Inscription : sam. 19/févr./2011 12:46

Re: ImageReductor

Message par blendman »

chez moi j'obtiens une image vide (blanche )
ça devait être un jpg avec le tout premier code (que j'ai corrigé très vite ;)).

En fait, cet outil n'est utile que pour les png, pas les jpg, car pour réduire la taille d'un jpg, on peut jouer sur la compression.
Par contre, pour les png, avec canal alpha ou pas, là, il y a un gain de poids considérable.


@Ars :
Ce n'est pas vraiment fait pour les grosses images, mais plutôt pour des sprites (< 1024*1024 pour que ça reste utilisable de manière agréable).

j'ai vu aussi qu'en ne mettant qu'une couleur on en avait plus, c'est effectivement bizarre ^^. Mais bon, de toutes façons, le programme remplit parfaitement le rôle que je voulais qu'il remplisse, c'est à dire réduire considérablement le poids de mes images pour mes jeux 2D, donc, ça me convient parfaitement.
Répondre