TFPWriterPNG compression ratio problem lazarus / 39-Graphics ---------------------------------------------------------------------- Igor · 2021-09-23 11:52 Hi, I use TFPWriterPNG to save a PNG image from TFPCustomImage with max compression. Even with clMax compression a resulting PNG in 1.3x larger than the same PNG image saved in Photoshop or another editor. Yes, I know that TFPCustomImage works at 64-bit per pixel, and I set TFPWriterPNG.WordSized:=False to convert it to 32-bit pixel format. My project doesn't use LCL and I can use only pure FPC code. FPC 3.2.0 / Lazarus 2.0.10 Code: Pascal  [Select][+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i program PngSaveTest; {$APPTYPE CONSOLE} {$ifdef fpc}{$mode Delphi}{$endif} uses  Classes, FPImage, FPWritePNG, FPReadPNG, ZStream; procedure SavePNG;type TReadKlas = class of TFPCustomImageReader;var  image: TFPCustomImage;  Ireader: TFPCustomImageReader;  IWriter: TFPWriterPNG;  Reader : TReadKlas;begin  Image := TFPMemoryImage.Create(8, 8);  reader:=TFPReaderPNG;  IReader:=Reader.Create;  Image.LoadFromFile('Src.png',IReader);  iReader.Free;   IWriter := TFPWriterPNG.Create;  IWriter.UseAlpha:=False;  IWriter.WordSized:=False;  IWRiter.CompressionLevel:=clMax;  Image.SaveToFile('Dst.png',IWriter);  IWriter.Free;   image.Free;end; begin  SavePng;end. ---------------------------------------------------------------------- marcov · 2021-09-23 12:15 png doesn't just have Z lib compression, but also configurable filters before hand.  Some editors that have no time constraints on save try multiple and then save the smallest. ---------------------------------------------------------------------- Igor · 2021-09-24 12:46 Thanks, I've understood.