Warum ist die Bildgröße und der Speicher für die Anzeige unterschiedlich?

1173
Sweeper

Ich habe aus einem Stapelüberlauf erfahren, dass der Speicher für die Anzeige eines Bildes und der Bildgröße gleich ist

4 * image dimensions 

Ich habe 800x800 Bilder und sehe, dass seine Größe etwa 100 KB beträgt, was meiner Meinung nach recht klein ist. Aber gemäß der obigen Formel benötigt es mehr als 2 MB, um es anzuzeigen!

Der SO-Beitrag sagt, dass jedes Pixel 4 Byte Speicherplatz benötigt, da die Bitmap ARGB-Farben verwendet. Deshalb lautet die Formel 4 * Bildmaße. Ich sehe jedoch nur 100 KB Speicherplatz, um das Bild zu speichern!

Verwendet der Computer eine andere Methode zum Speichern des Bildes? Benötigt 1 Pixel noch 4B, um gespeichert zu werden? Wie ist das passiert?

-1
Und wo sehen Sie, dass seine Größe ungefähr hundert kB beträgt? Run CMD vor 8 Jahren 0
In seinem Eigenschaftenfenster Sweeper vor 8 Jahren 0
Du meinst auf der Festplatte? Run CMD vor 8 Jahren 0
Es ist eine Tatsache, dass die Antwort, die Sie zitieren, eine schlechte Empfehlung gibt. RGB888 ist die erste Wahl, wenn Sie keine Transparenz benötigen, kein ARGB. Besonders auf einem mobilen Gerät. Im Vergleich zu ARGB werden 25% Speicher eingespart. Wenn Sie die `View` s von Android stapeln, wird das Hinzufügen von Transparenz die Dinge verlangsamen. Run CMD vor 8 Jahren 0

3 Antworten auf die Frage

3
Ben

IrfanView kann helfen, den verwendeten Speicher schnell anzuzeigen:
(siehe Speicherberechnung)

enter image description here

BREITE x HÖHE x (Bits pro Pixel) = Speicher benötigt, um das vollständige Bild zu laden

Prost!

2
Germar

Ihr Bild wird komprimiert (zB mit jpegoder png). Wenn Sie das Bild in einem unkomprimierten Format ( tiffohne zipKomprimierung) speichern, erhalten Sie diese Größe auch auf der Festplatte.

Das Q fragt, wie das geht. Run CMD vor 8 Jahren 0
@ClassStacker Ich weiß. Und meine Antwort lautet "mit Kompression" Germar vor 8 Jahren 1
Ja ... JPEG / JPG und PNG verwenden verlustbehaftete Komprimierungsmethoden pun vor 8 Jahren 0
@ The_IT_Guy_You_Don't_Like PNGs verwenden verlustbehaftete Kompressionsmethoden? Wer hat dir diesen Unsinn erzählt? Run CMD vor 8 Jahren 1
@ The_IT_Guy_You_Don't_Like jpeg verwendet eine verlustbehaftete Komprimierung. PNG ist verlustfrei Germar vor 8 Jahren 0
Kein kompletter Blödsinn, da PNG ** verlustfreie Komprimierung ** unterstützt, aber es ist verlustfrei ** positionell, nicht unbedingt farblich **. pun vor 8 Jahren 0
@ClassStacker Vielleicht möchten Sie auch [this] lesen (http://www.howtogeek.com/203979/is-the-png-format-lossless-since-it-has-a-compression-parameter/) pun vor 8 Jahren 0
@ The_IT_Guy_You_Don't_Like Was versuchst du zu sagen? Wie trägt der Link zur Diskussion bei? Und was ist eine Kompression, die positionslos, aber nicht farblich ist? Run CMD vor 8 Jahren 0
2
David Schwartz

Der zum Speichern eines Bildes erforderliche Speicherplatz kann geringer sein als der zum Anzeigen des Bildes erforderliche Speicherplatz. Wenn das Bild beispielsweise ein grünes 80x80-Rechteck ist, können Sie es als "80 x 80 grünes Rechteck" speichern. Um es anzuzeigen, benötigen Sie 1600 grüne Punkte, von denen jeder etwas Platz beansprucht.

Sie möchten ein 80x80-Quadrat speichern, das nur ein Pixel Grün und einige Metadaten speichert, die sagen, es sei 80x80? Sweeper vor 8 Jahren 0
@Sweeper It * kann * das tun, um es zu speichern. Aber es kann das nicht tun, um es anzuzeigen. David Schwartz vor 8 Jahren 0