D6: JPeg shoothing:=false funktioniert nicht

Hallo!

Ich möchte die Grafik aus einem TImage als JPeg speichern. Doch leider ist die Qualität echt bescheiden, weil die Kanten alle abgerundet sind. Anscheinend funktioniert die Smoothing funktion nicht. Hab schon alles versucht und auch lange gegoogelt aber leider nichts gefunden.

Hier mein code:

jpg := TJpegImage.Create;
jpg.ProgressiveEncoding := true;
Jpg.CompressionQuality := 100;
Jpg.PixelFormat := jf24Bit;
Jpg.Palette := 0;
Jpg.Smoothing := False;
Jpg.Scale := jsFullSize;
Jpg.Performance := jpBestQuality;
Jpg.Grayscale := False;
jpg.Assign(img_ppreview.Picture.Bitmap);
jpg.SaveToFile(imagedir+inttostr(z)+’_previewMap.jpg’);
jpg.free;

Irgend jemand eine Idee?

Danke!

Volker

meinte natürlich smoothing:=false :smile: (o.t.)
.

Hallo Volker,
ich habe dein Beispiel mit meiner Delphi-Installation (D3) und einem linienlastigen Bild nachvollzogen. Es scheint alles bestens zu funktionieren. Unterschiedliche Kompressionsfaktoren liefern die erwarteten Resultate. So weit ich erkennen kann, nimmt die Eigenschaft Smoothing keinen Einfluss auf das gespeicherte Bild. Der Delphi-Hilfe meine ich entnehmen zu können, dass Smoothing nur Bedeutung für die Darstellung im laufenden Delphi-Programm hat. Vielleicht ist es doch eher ein Problem des Bildmaterials?

Grüße
Michael

Hallo!

Am Bildmaterial kann es nicht liegen, denn die Bilder werden in Delphi erzeugt. Ich zeichne z.B. auf einfärbigen hintergrund eine einfärbige Ellipse (durch eine eigene Funktion). In Delphi selber ist alles ok. Das Bild hat zwei Farben, wie es sich gehört. Wenn ich es aber als JPeg speichere, werden die Kanten geglättet (das ist wohl das smoothing).

jpg := TJpegImage.Create();
jpg.ProgressiveEncoding := true;
Jpg.CompressionQuality := 100;
Jpg.PixelFormat := jf24Bit;
Jpg.Palette := 0;
Jpg.Smoothing := False;
Jpg.Scale := jsFullSize;
Jpg.Performance := jpBestQuality;
Jpg.Grayscale := False;

jpg.assign(bmp1);
jpg.SaveToFile(‚test.jpg‘);

jpg.free;

Ich hab schon alles versucht, aber leider ohne Erfolg.

Volker