Vous pouvez calculer un niveau d'information approximative pour l'image en prenant la taille de l'image originale divisée par le nombre de pixels:
info = fileSize/(width * height);
J'ai une image qui est 369636 octets et 1200x800 pixels, il utilise ~ 0,385 octets par pixel.
J'ai une version plus petite qui est 101111 octets et 600x400 pixels, donc il utilise ~ 0.4213 octets par pixel. Lorsque vous réduisez une image, vous verrez qu'elle contient généralement un peu plus d'informations par pixel, dans ce cas environ 9% de plus. En fonction de votre type d'images et combien vous les psy, vous devriez être en mesure de calculer une moyenne pour combien l'augmentation des rations d'information/pixel (c), de sorte que vous pouvez calculer une taille approximative du fichier:
newFileSize = (fileSize/(width * height)) * (newWidth * newHeight) * c
de cela, vous pouvez extraire une formule pour la taille que vous devez faire une image pour atteindre une taille de fichier spécifique:
newWidth * newHeight = (newFileSize/fileSize) * (width * height)/c
cela vous être assez proche de la taille du fichier souhaité. Si vous voulez vous rapprocher, vous pouvez redimensionner l'image à la taille calculée, la compresser et calculer une nouvelle valeur en octets par pixel à partir de la taille du fichier que vous avez obtenu.
Quel type d'image? –