Browse Source

added bgra_SaveToFile

lainz 11 years ago
parent
commit
1c5f79b33f
3 changed files with 17 additions and 6 deletions
  1. 9 0
      bgrapascalscript.pas
  2. 4 6
      test/test_bgrapascalscript/umain.lfm
  3. 4 0
      upsi_bgrapascalscript.pas

+ 9 - 0
bgrapascalscript.pas

@@ -42,6 +42,9 @@ procedure bgra_Fill(id: integer; AColor: TBGRAColor);
 procedure bgra_SetPixel(id: integer; x, y: integer; AColor: TBGRAColor);
 procedure bgra_SetPixel(id: integer; x, y: integer; AColor: TBGRAColor);
 function bgra_GetPixel(id: integer; x, y: integer): TBGRAColor;
 function bgra_GetPixel(id: integer; x, y: integer): TBGRAColor;
 
 
+{Loading functions}
+procedure bgra_SaveToFile(id: integer; const filename: string);
+
 {Filters - direct apply}
 {Filters - direct apply}
 procedure bgra_FilterSmartZoom3(id: integer; Option: TMedianOption);
 procedure bgra_FilterSmartZoom3(id: integer; Option: TMedianOption);
 procedure bgra_FilterMedian(id: integer; Option: TMedianOption);
 procedure bgra_FilterMedian(id: integer; Option: TMedianOption);
@@ -53,6 +56,7 @@ procedure bgra_FilterPixelate(id: integer; pixelSize: integer; useResample: bool
 procedure bgra_FilterBlurRadial(id: integer; radius: integer; blurType: TRadialBlurType);
 procedure bgra_FilterBlurRadial(id: integer; radius: integer; blurType: TRadialBlurType);
 procedure bgra_FilterBlurRadialRect(id: integer; ABounds: TRect; radius: integer; blurType: TRadialBlurType);
 procedure bgra_FilterBlurRadialRect(id: integer; ABounds: TRect; radius: integer; blurType: TRadialBlurType);
 
 
+
 implementation
 implementation
 
 
 procedure bgra_Initialization;
 procedure bgra_Initialization;
@@ -186,6 +190,11 @@ begin
     Result := 0;
     Result := 0;
 end;
 end;
 
 
+procedure bgra_SaveToFile(id: integer; const filename: string);
+begin
+  BitmapArray[id].SaveToFile(filename);
+end;
+
 procedure bgra_FilterSmartZoom3(id: integer; Option: TMedianOption);
 procedure bgra_FilterSmartZoom3(id: integer; Option: TMedianOption);
 begin
 begin
   BGRAReplace(BitmapArray[id], BitmapArray[id].FilterSmartZoom3(Option) as TBGRABitmap);
   BGRAReplace(BitmapArray[id], BitmapArray[id].FilterSmartZoom3(Option) as TBGRABitmap);

+ 4 - 6
test/test_bgrapascalscript/umain.lfm

@@ -485,12 +485,9 @@ object Form1: TForm1
       'Program Test_BGRAPascalScript;'
       'Program Test_BGRAPascalScript;'
       ''
       ''
       'function bgra_CreateNextWithSize(x,y: Integer): Integer;'
       'function bgra_CreateNextWithSize(x,y: Integer): Integer;'
-      'var'
-      '  id: Integer;'
       'begin'
       'begin'
-      '  id := bgra_GetHighestID + 1;'
-      '  bgra_CreateWithSize(id,x,y);'
-      '  result := id;'
+      '  result := bgra_GetHighestID + 1;'
+      '  bgra_CreateWithSize(result,x,y);'
       'end;'
       'end;'
       ''
       ''
       'var'
       'var'
@@ -505,7 +502,8 @@ object Form1: TForm1
       '    bgra_SetPixel(id, i,0, c);'
       '    bgra_SetPixel(id, i,0, c);'
       '    c := setGreen(c, getGreen(c)-1);'
       '    c := setGreen(c, getGreen(c)-1);'
       '  end;'
       '  end;'
-      'end.          '
+      '  bgra_SaveToFile(id, ''bitmap.png'');'
+      'end.  '
     )
     )
     VisibleSpecialChars = [vscSpace, vscTabAtLast]
     VisibleSpecialChars = [vscSpace, vscTabAtLast]
     SelectedColor.FrameEdges = sfeAround
     SelectedColor.FrameEdges = sfeAround

+ 4 - 0
upsi_bgrapascalscript.pas

@@ -82,6 +82,8 @@ begin
   CL.AddDelphiFunction('Procedure bgra_Fill( id : Integer; AColor: TBGRAColor)');
   CL.AddDelphiFunction('Procedure bgra_Fill( id : Integer; AColor: TBGRAColor)');
   CL.AddDelphiFunction('procedure bgra_SetPixel(id: Integer; x,y: integer; AColor: TBGRAColor);');
   CL.AddDelphiFunction('procedure bgra_SetPixel(id: Integer; x,y: integer; AColor: TBGRAColor);');
   CL.AddDelphiFunction('function bgra_GetPixel(id: Integer; x,y: integer): TBGRAColor;');
   CL.AddDelphiFunction('function bgra_GetPixel(id: Integer; x,y: integer): TBGRAColor;');
+  {Loading functions}
+  CL.AddDelphiFunction('procedure bgra_SaveToFile(id: integer; const filename: string);');
   {Filters}
   {Filters}
   CL.AddDelphiFunction('procedure bgra_FilterSmartZoom3( id: integer; Option: TMedianOption )');
   CL.AddDelphiFunction('procedure bgra_FilterSmartZoom3( id: integer; Option: TMedianOption )');
   CL.AddDelphiFunction('procedure bgra_FilterMedian( id: integer; Option: TMedianOption )');
   CL.AddDelphiFunction('procedure bgra_FilterMedian( id: integer; Option: TMedianOption )');
@@ -109,6 +111,8 @@ begin
   S.RegisterDelphiFunction(@bgra_Destroy, 'bgra_Destroy', cdRegister);
   S.RegisterDelphiFunction(@bgra_Destroy, 'bgra_Destroy', cdRegister);
   {}
   {}
   S.RegisterDelphiFunction(@bgra_Fill, 'bgra_Fill', cdRegister);
   S.RegisterDelphiFunction(@bgra_Fill, 'bgra_Fill', cdRegister);
+  {Loading functions}
+  S.RegisterDelphiFunction(@bgra_SaveToFile, 'bgra_SaveToFile', cdRegister);
   {Color}
   {Color}
   S.RegisterDelphiFunction(@rgb, 'rgb', cdRegister);
   S.RegisterDelphiFunction(@rgb, 'rgb', cdRegister);
   S.RegisterDelphiFunction(@rgba, 'rgba', cdRegister);
   S.RegisterDelphiFunction(@rgba, 'rgba', cdRegister);