Function TWPOCustomImage.CompressEx(aFileExtension:string; aCompressedStream:TMemoryStream; better_keep_data:Boolean; MetafilesToo:Boolean; dpi:Integer; pObj:TWPTextObj) : Boolean

Unit: WPOBJ_Image
Class: WPOBJ_Image.TWPOCustomImage

Parameters

  • aFileExtension:string
  • aCompressedStream:TMemoryStream
  • better_keep_data:Boolean
  • MetafilesToo:Boolean
  • dpi:Integer
  • pObj:TWPTextObj

Returns

The type of the result value is Boolean.

Description

This method can be used to compress an image. DPI will be used to convert metafiles and also if aFileExtension=''. In this case any image can be resampled and will be sdaved as JPEG.
This example resamples all images in the text: var i : Integer; lst : TWPTextObjList; better_keep_data : Boolean; mem : TMemoryStream; ext : String; begin lst := WPRichText1.CodeListTags(wpobjImage,'*ALL*', true); for i := 0 to lst.Count-1 do begin if (lst[i].IsImage) and (CompareText(lst[i].ObjRef.FileExtension,'JPEG')<>0) then begin mem := TMemoryStream.Create; better_keep_data := false; ext := ''; try (lst[i].ObjRef as TWPOCustomImage).CompressEx( ext, mem, better_keep_data, false, 200); if not better_keep_data then begin (lst[i].ObjRef as TWPOCustomImage).FileExtension := ext; (lst[i].ObjRef as TWPOCustomImage).LoadFromStream(mem); end; finally mem.Free; end; end; end; end;