Sie können eine ungefähre Informationsebene für das Bild berechnen, indem die ursprüngliche Bildgröße durch die Anzahl der Pixel unterteilt unter:
info = fileSize/(width * height);
Ich habe ein Bild, das 369.636 Bytes und 1200x800 Pixel, so dass es verwendet ~ 0,385 Bytes pro Pixel.
Ich habe eine kleinere Version, die 101111 Bytes und 600x400 Pixel ist, so verwendet es ~ 0,4213 Bytes pro Pixel.
Wenn Sie ein Bild verkleinern, sehen Sie, dass es im Allgemeinen etwas mehr Informationen pro Pixel enthält, in diesem Fall etwa 9% mehr. Je nach Art der Bilder, und wie man sie viel schrumpfen, sollten Sie in der Lage sein, einen Durchschnitt, wie viel die Informationen/Pixel Ration erhöht (c) zu berechnen, so dass Sie eine ungefähre Dateigröße berechnen können:
newFileSize = (fileSize/(width * height)) * (newWidth * newHeight) * c
Daraus können Sie eine Formel für extrahieren, wie groß Sie ein Bild machen müssen, um eine bestimmte Dateigröße zu erreichen:
auf die gewünschte Dateigröße
newWidth * newHeight = (newFileSize/fileSize) * (width * height)/c
diese erhalten Sie ziemlich nah dran. Wenn Sie näher kommen möchten, können Sie das Bild auf die berechnete Größe skalieren, es komprimieren und einen neuen Byte pro Pixel Wert aus der Dateigröße berechnen, die Sie erhalten haben.
Welche Art von Bild? –