summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/corelib/fpg_main.pas19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/corelib/fpg_main.pas b/src/corelib/fpg_main.pas
index 368c5880..9c15760f 100644
--- a/src/corelib/fpg_main.pas
+++ b/src/corelib/fpg_main.pas
@@ -143,6 +143,7 @@ type
TfpgImage = class(TfpgImageImpl)
public
+ function ImageFromSource: TfpgImage;
function ImageFromRect(var ARect: TRect): TfpgImage; overload;
function ImageFromRect(var ARect: TfpgRect): TfpgImage; overload;
end;
@@ -2087,6 +2088,24 @@ end;
{ TfpgImage }
+function TfpgImage.ImageFromSource: TfpgImage;
+var
+ x, y: TfpgCoord;
+begin
+ Result := TfpgImage.Create;
+ Result.AllocateImage(ColorDepth, Width, Height);
+ for x := 0 to Width-1 do
+ begin
+ for y := 0 to Height-1 do
+ begin
+ Result.Colors[x, y] := Colors[x, y];
+ end;
+ end;
+ if Masked then
+ Result.CreateMaskFromSample(MaskPoint.X, MaskPoint.Y);
+ Result.UpdateImage;
+end;
+
function TfpgImage.ImageFromRect(var ARect: TRect): TfpgImage;
var
x, y: TfpgCoord;