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;