diff --git a/packages/fcl-image/src/fpwritepng.pp b/packages/fcl-image/src/fpwritepng.pp index 7811405723..2eac31ea26 100644 --- a/packages/fcl-image/src/fpwritepng.pp +++ b/packages/fcl-image/src/fpwritepng.pp @@ -41,6 +41,7 @@ type FDatalineLength : longword; ZData : TMemoryStream; // holds uncompressed data until all blocks are written Compressor : TCompressionStream; // compresses the data + FCompressionLevel : TCompressionLevel; procedure WriteChunk; function GetColorPixel (x,y:longword) : TColorData; function GetPalettePixel (x,y:longword) : TColorData; @@ -94,6 +95,7 @@ type property CompressedText : boolean read FCompressedText write FCompressedText; property WordSized : boolean read FWordSized write FWordSized; property UseAlpha : boolean read FUseAlpha write FUseAlpha; + property CompressionLevel : TCompressionLevel read FCompressionLevel write FCompressionLevel; end; implementation @@ -108,6 +110,7 @@ begin FCompressedText := True; FWordSized := True; FUseAlpha := False; + FCompressionLevel:=clDefault; end; destructor TFPWriterPNG.destroy; @@ -565,7 +568,7 @@ begin GetMem (FCurrentLine, FDatalineLength); fillchar (FCurrentLine^,FDatalineLength,0); ZData := TMemoryStream.Create; - Compressor := TCompressionStream.Create (clMax,ZData); + Compressor := TCompressionStream.Create (FCompressionLevel,ZData); FGetPixel := DecideGetPixel; end;