Wie reduzieren Sie die Größe der JPG-Datei?
Paar Tagen habe ich diese Frage gestellt und bekam die Antwort:
Wie Sie einen Bild-frame, und fügen Sie den text in das Bild?
Nun, wenn ich speichern des Inhalts von TPanel (1x Form, 1x TImage, 2x TLabel) als JPG-Datei,
Größe der JPG-Datei ist, erhöhte sich von 20 Kb, die Größe des Bild in TImage, um die 620kb.
Abmessungen sind fast die gleichen. Die Original-JPG-Datei 320x320, neue JPG-Bild 361x440.
So, wie zu verringern, die Größe?
Dies ist die Antwort für die erste Frage, von @iPath, so dass ist, wie die neue JPG-Datei wird erstellt:
procedure TForm1.SavePanelAsImage;
var
img: TBitmap;
begin
img := TBitmap.Create;
try
img.Width := fpPanel.Width;
img.Height := fpPanel.Height;
fpPanel.PaintTo(img.Canvas, 0, 0);
img.SaveToFile(fpFileName);
finally
img.Free;
end;
end;
- Eine Bitmap-Datei erstellt wird! In der Notes Abschnitt in meiner Antwort erwähnte ich, dass Sie verwenden müssen TJPEGImage zum konvertieren von bitmap zu Jpeg. Mein Beispiel speichert eine bitmap, da @David-Heffernan geklärt 😉
- Seien Sie vorsichtig mit diesem, BTW. JPEG ist eine verlustbehaftete Kompression Algorithmus, was bedeutet, dass, wenn Sie speichern Sie ein Bild und laden Sie es wieder, bekommt man nicht wieder das exakt gleiche Bild. Also, wenn Sie Sie Bearbeiten mehrere Male, speichern als JPEG-jedes mal, wenn Ihr image leidet unter einer mehrere Generationen Verluste.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Was Sie gespeichert haben ist nicht ein JPEG-Bild. Sie gespeichert haben, eine Windows-bitmap. Das hat keine Komprimierung. Es geschieht
.jpg
Erweiterung, aber nicht die Datei selbst ein JPEG.Müssen Sie
TJPEGImage
um die Datei zu speichern. Steuerung der Kompression durch die Verwendung derCompressionQuality
Eigenschaft. Sobald Sie Ihr Bild in eine bitmap, übertragen Sie Sie in eine JPEG -Die Datei wird als Bitmap abgespeichert, und nicht als JPEG.
Selbst bei "extrem gute Qualität", ein JPEG wird nicht sein, dass Größe.
Jedoch eine 32-bit-Bitmap (ohne RLE) werden - 361 * 440 * 4 (bytes/pixel) ~ 640 Kb
Versuchen, Kernel Bulk image resizer Werkzeug für die Größenänderung Ihr Bild einzelne oder mehrere auf einmal.