1531 implemented flip functions, this revision gets Invert and Grayscale.

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1532 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
yangjixian
2011-03-15 13:01:58 +00:00
parent 5c694feede
commit d6b917de4a
5 changed files with 325 additions and 240 deletions

View File

@ -118,7 +118,7 @@ type
procedure StretchTrunc(AWidth, AHeight: Integer); virtual;
procedure StretchSmooth(AWidth, AHeight: Integer; Method: TSmoothMethod); virtual;
procedure Grayscale; virtual;
procedure Grayscale; override;
procedure Disable; virtual;
procedure CutToClipboard; virtual;
@ -324,7 +324,7 @@ end;
procedure TRGB32Bitmap.Grayscale;
begin
GrayscaleRGB32Bitmap(Self);
inherited;
end;
procedure TRGB32Bitmap.Disable;

View File

@ -29,15 +29,19 @@
<FormatVersion Value="1"/>
</local>
</RunParams>
<RequiredPackages Count="2">
<RequiredPackages Count="3">
<Item1>
<PackageName Value="LazColorPalette"/>
<PackageName Value="LCLBase"/>
<MinVersion Major="1" Release="1" Valid="True"/>
</Item1>
<Item2>
<PackageName Value="LCL"/>
<PackageName Value="LazColorPalette"/>
</Item2>
<Item3>
<PackageName Value="LCL"/>
</Item3>
</RequiredPackages>
<Units Count="31">
<Units Count="32">
<Unit0>
<Filename Value="lazimageeditor.pas"/>
<IsPartOfProject Value="True"/>
@ -45,7 +49,7 @@
<WindowIndex Value="0"/>
<TopLine Value="1"/>
<CursorPos X="103" Y="12"/>
<UsageCount Value="53"/>
<UsageCount Value="54"/>
</Unit0>
<Unit1>
<Filename Value="main.pas"/>
@ -56,16 +60,16 @@
<UnitName Value="Main"/>
<EditorIndex Value="0"/>
<WindowIndex Value="0"/>
<TopLine Value="445"/>
<CursorPos X="26" Y="449"/>
<UsageCount Value="53"/>
<TopLine Value="334"/>
<CursorPos X="32" Y="344"/>
<UsageCount Value="54"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
</Unit1>
<Unit2>
<Filename Value="picturectrls.pas"/>
<UnitName Value="PictureCtrls"/>
<EditorIndex Value="2"/>
<EditorIndex Value="3"/>
<WindowIndex Value="0"/>
<TopLine Value="915"/>
<CursorPos X="21" Y="934"/>
@ -172,10 +176,10 @@
<Unit13>
<Filename Value="picturemanager.pas"/>
<UnitName Value="PictureManager"/>
<EditorIndex Value="1"/>
<EditorIndex Value="2"/>
<WindowIndex Value="0"/>
<TopLine Value="1"/>
<CursorPos X="78" Y="5"/>
<TopLine Value="24"/>
<CursorPos X="3" Y="40"/>
<UsageCount Value="24"/>
<Loaded Value="True"/>
</Unit13>
@ -238,10 +242,10 @@
<Unit21>
<Filename Value="bmprgbtypes.pas"/>
<UnitName Value="BmpRGBTypes"/>
<EditorIndex Value="3"/>
<EditorIndex Value="4"/>
<WindowIndex Value="0"/>
<TopLine Value="370"/>
<CursorPos X="34" Y="384"/>
<TopLine Value="247"/>
<CursorPos X="20" Y="268"/>
<UsageCount Value="24"/>
<Loaded Value="True"/>
</Unit21>
@ -271,9 +275,9 @@
<Unit25>
<Filename Value="bmprgbutils.pas"/>
<UnitName Value="BmpRGBUtils"/>
<EditorIndex Value="5"/>
<EditorIndex Value="6"/>
<WindowIndex Value="0"/>
<TopLine Value="1"/>
<TopLine Value="37"/>
<CursorPos X="72" Y="5"/>
<UsageCount Value="19"/>
<Loaded Value="True"/>
@ -297,21 +301,20 @@
<Unit28>
<Filename Value="bmprgbgraph.pas"/>
<UnitName Value="BmpRGBGraph"/>
<EditorIndex Value="6"/>
<EditorIndex Value="7"/>
<WindowIndex Value="0"/>
<TopLine Value="378"/>
<CursorPos X="47" Y="394"/>
<TopLine Value="141"/>
<CursorPos X="47" Y="149"/>
<UsageCount Value="15"/>
<Loaded Value="True"/>
</Unit28>
<Unit29>
<Filename Value="rgbdrawutils.pas"/>
<UnitName Value="RGBDrawUtils"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="4"/>
<EditorIndex Value="5"/>
<WindowIndex Value="0"/>
<TopLine Value="477"/>
<CursorPos X="30" Y="493"/>
<TopLine Value="414"/>
<CursorPos X="1" Y="422"/>
<UsageCount Value="14"/>
<Loaded Value="True"/>
</Unit29>
@ -323,127 +326,138 @@
<CursorPos X="15" Y="257"/>
<UsageCount Value="11"/>
</Unit30>
<Unit31>
<Filename Value="picturedialog.pas"/>
<UnitName Value="PictureDialog"/>
<IsVisibleTab Value="True"/>
<EditorIndex Value="1"/>
<WindowIndex Value="0"/>
<TopLine Value="71"/>
<CursorPos X="40" Y="85"/>
<UsageCount Value="10"/>
<Loaded Value="True"/>
</Unit31>
</Units>
<JumpHistory Count="30" HistoryIndex="29">
<Position1>
<Filename Value="picturectrls.pas"/>
<Caret Line="333" Column="40" TopLine="314"/>
<Filename Value="rgbdrawutils.pas"/>
<Caret Line="392" Column="25" TopLine="386"/>
</Position1>
<Position2>
<Filename Value="main.pas"/>
<Caret Line="449" Column="26" TopLine="445"/>
<Filename Value="rgbdrawutils.pas"/>
<Caret Line="61" Column="23" TopLine="49"/>
</Position2>
<Position3>
<Filename Value="picturectrls.pas"/>
<Caret Line="177" Column="32" TopLine="161"/>
<Filename Value="main.pas"/>
<Caret Line="1159" Column="94" TopLine="1123"/>
</Position3>
<Position4>
<Filename Value="picturectrls.pas"/>
<Caret Line="934" Column="17" TopLine="918"/>
<Filename Value="main.pas"/>
<Caret Line="1160" Column="94" TopLine="1135"/>
</Position4>
<Position5>
<Filename Value="bmprgbgraph.pas"/>
<Caret Line="130" Column="22" TopLine="114"/>
<Filename Value="main.pas"/>
<Caret Line="1159" Column="94" TopLine="1134"/>
</Position5>
<Position6>
<Filename Value="bmprgbtypes.pas"/>
<Caret Line="115" Column="17" TopLine="99"/>
<Filename Value="rgbdrawutils.pas"/>
<Caret Line="444" Column="24" TopLine="422"/>
</Position6>
<Position7>
<Filename Value="rgbdrawutils.pas"/>
<Caret Line="41" Column="23" TopLine="25"/>
<Caret Line="428" Column="33" TopLine="414"/>
</Position7>
<Position8>
<Filename Value="rgbdrawutils.pas"/>
<Caret Line="53" Column="25" TopLine="39"/>
<Caret Line="639" Column="1" TopLine="614"/>
</Position8>
<Position9>
<Filename Value="rgbdrawutils.pas"/>
<Caret Line="93" Column="22" TopLine="67"/>
<Caret Line="432" Column="12" TopLine="412"/>
</Position9>
<Position10>
<Filename Value="rgbdrawutils.pas"/>
<Caret Line="196" Column="16" TopLine="170"/>
<Caret Line="428" Column="79" TopLine="415"/>
</Position10>
<Position11>
<Filename Value="rgbdrawutils.pas"/>
<Caret Line="439" Column="15" TopLine="417"/>
<Filename Value="main.pas"/>
<Caret Line="1140" Column="98" TopLine="1134"/>
</Position11>
<Position12>
<Filename Value="rgbdrawutils.pas"/>
<Caret Line="433" Column="45" TopLine="420"/>
<Caret Line="4" Column="47" TopLine="1"/>
</Position12>
<Position13>
<Filename Value="rgbdrawutils.pas"/>
<Caret Line="9" Column="74" TopLine="1"/>
<Filename Value="bmprgbgraph.pas"/>
<Caret Line="4" Column="80" TopLine="1"/>
</Position13>
<Position14>
<Filename Value="rgbdrawutils.pas"/>
<Caret Line="41" Column="23" TopLine="15"/>
<Caret Line="40" Column="36" TopLine="29"/>
</Position14>
<Position15>
<Filename Value="rgbdrawutils.pas"/>
<Caret Line="53" Column="25" TopLine="27"/>
<Caret Line="560" Column="18" TopLine="547"/>
</Position15>
<Position16>
<Filename Value="rgbdrawutils.pas"/>
<Caret Line="93" Column="22" TopLine="67"/>
<Caret Line="415" Column="35" TopLine="406"/>
</Position16>
<Position17>
<Filename Value="rgbdrawutils.pas"/>
<Caret Line="196" Column="16" TopLine="170"/>
<Caret Line="6" Column="95" TopLine="3"/>
</Position17>
<Position18>
<Filename Value="rgbdrawutils.pas"/>
<Caret Line="2" Column="82" TopLine="1"/>
<Caret Line="2" Column="60" TopLine="1"/>
</Position18>
<Position19>
<Filename Value="picturectrls.pas"/>
<Caret Line="5" Column="82" TopLine="1"/>
<Filename Value="rgbdrawutils.pas"/>
<Caret Line="20" Column="36" TopLine="18"/>
</Position19>
<Position20>
<Filename Value="picturectrls.pas"/>
<Caret Line="177" Column="23" TopLine="151"/>
<Filename Value="bmprgbtypes.pas"/>
<Caret Line="25" Column="100" TopLine="22"/>
</Position20>
<Position21>
<Filename Value="picturectrls.pas"/>
<Caret Line="929" Column="38" TopLine="915"/>
<Filename Value="bmprgbtypes.pas"/>
<Caret Line="201" Column="20" TopLine="189"/>
</Position21>
<Position22>
<Filename Value="bmprgbtypes.pas"/>
<Caret Line="4" Column="96" TopLine="1"/>
<Filename Value="bmprgbgraph.pas"/>
<Caret Line="119" Column="55" TopLine="112"/>
</Position22>
<Position23>
<Filename Value="bmprgbtypes.pas"/>
<Caret Line="105" Column="58" TopLine="89"/>
<Filename Value="bmprgbgraph.pas"/>
<Caret Line="121" Column="24" TopLine="112"/>
</Position23>
<Position24>
<Filename Value="bmprgbtypes.pas"/>
<Caret Line="115" Column="23" TopLine="89"/>
<Filename Value="bmprgbgraph.pas"/>
<Caret Line="325" Column="29" TopLine="313"/>
</Position24>
<Position25>
<Filename Value="bmprgbtypes.pas"/>
<Caret Line="196" Column="19" TopLine="185"/>
<Filename Value="main.pas"/>
<Caret Line="1172" Column="30" TopLine="1168"/>
</Position25>
<Position26>
<Filename Value="bmprgbtypes.pas"/>
<Caret Line="248" Column="19" TopLine="234"/>
<Filename Value="main.pas"/>
<Caret Line="1188" Column="57" TopLine="1149"/>
</Position26>
<Position27>
<Filename Value="bmprgbgraph.pas"/>
<Caret Line="6" Column="56" TopLine="1"/>
<Filename Value="main.pas"/>
<Caret Line="337" Column="37" TopLine="333"/>
</Position27>
<Position28>
<Filename Value="bmprgbgraph.pas"/>
<Caret Line="130" Column="23" TopLine="119"/>
<Filename Value="main.pas"/>
<Caret Line="296" Column="35" TopLine="280"/>
</Position28>
<Position29>
<Filename Value="bmprgbgraph.pas"/>
<Caret Line="392" Column="32" TopLine="378"/>
<Filename Value="main.pas"/>
<Caret Line="344" Column="32" TopLine="334"/>
</Position29>
<Position30>
<Filename Value="rgbdrawutils.pas"/>
<Caret Line="462" Column="10" TopLine="453"/>
<Filename Value="picturedialog.pas"/>
<Caret Line="50" Column="25" TopLine="34"/>
</Position30>
</JumpHistory>
</ProjectOptions>

View File

@ -1880,9 +1880,11 @@
Caption = '&Picture'
object MenuItemResize: TMenuItem
Action = PictureResize
OnClick = MenuItemResizeClick
end
object MenuItemResizePaper: TMenuItem
Action = PictureResizePaper
OnClick = MenuItemResizePaperClick
end
object MenuItemClipPaperToMask: TMenuItem
Action = PictureClipPaperToMask

View File

@ -1436,89 +1436,90 @@ LazarusResources.Add('TMainForm','FORMDATA',[
+'ditDeleteExecute'#0#0#9'TMenuItem'#17'MenuItemSelectAll'#6'Action'#7#13'Edi'
+'tSelectAll'#7'OnClick'#7#20'EditSelectAllExecute'#0#0#0#9'TMenuItem'#15'Men'
+'uItemPicture'#7'Caption'#6#8'&Picture'#0#9'TMenuItem'#14'MenuItemResize'#6
+'Action'#7#13'PictureResize'#0#0#9'TMenuItem'#19'MenuItemResizePaper'#6'Acti'
+'on'#7#18'PictureResizePaper'#0#0#9'TMenuItem'#23'MenuItemClipPaperToMask'#6
+'Action'#7#22'PictureClipPaperToMask'#0#0#9'TMenuItem'#9'MenuItem7'#7'Captio'
+'n'#6#1'-'#0#0#9'TMenuItem'#12'MenuItemFlip'#7'Caption'#6#4'Flip'#0#9'TMenuI'
+'tem'#20'MenuItemHorizontally'#6'Action'#7#16'FlipHorizontally'#7'OnClick'#7
+#23'FlipHorizontallyExecute'#0#0#9'TMenuItem'#18'MenuItemVertically'#6'Actio'
+'n'#7#14'FlipVertically'#7'OnClick'#7#21'FlipVerticallyExecute'#0#0#0#9'TMen'
+'uItem'#14'MenuItemRotate'#7'Caption'#6#6'Rotate'#0#9'TMenuItem'#10'MenuItem'
+'90'#6'Action'#7#8'Rotate90'#7'OnClick'#7#15'Rotate90Execute'#0#0#9'TMenuIte'
+'m'#11'MenuItem180'#6'Action'#7#9'Rotate180'#7'OnClick'#7#16'Rotate180Execut'
+'e'#0#0#9'TMenuItem'#11'MenuItem270'#6'Action'#7#9'Rotate270'#7'OnClick'#7#16
+'Rotate270Execute'#0#0#9'TMenuItem'#14'MenuItemCustom'#6'Action'#7#12'Rotate'
+'Custom'#0#0#0#9'TMenuItem'#9'MenuItem4'#7'Caption'#6#1'-'#0#0#9'TMenuItem'
+#14'MenuItemColors'#7'Caption'#6#6'Colors'#0#9'TMenuItem'#14'MenuItemInvert'
+#6'Action'#7#12'ColorsInvert'#7'OnClick'#7#19'ColorsInvertExecute'#0#0#9'TMe'
+'nuItem'#17'MenuItemGrayscale'#6'Action'#7#15'ColorsGrayscale'#7'OnClick'#7
+#22'ColorsGrayscaleExecute'#0#0#9'TMenuItem'#15'MenuItemDisable'#6'Action'#7
+#13'ColorsDisable'#7'OnClick'#7#20'ColorsDisableExecute'#0#0#0#0#9'TMenuItem'
+#12'MenuItemMask'#7'Caption'#6#4'Mask'#0#9'TMenuItem'#18'MenuItemMaskInvert'
+#6'Action'#7#10'MaskInvert'#7'OnClick'#7#17'MaskInvertExecute'#0#0#9'TMenuIt'
+'em'#18'MenuItemMaskRemove'#6'Action'#7#10'MaskRemove'#7'OnClick'#7#17'MaskR'
+'emoveExecute'#0#0#0#9'TMenuItem'#12'MenuItemView'#7'Caption'#6#4'View'#0#9
+'TMenuItem'#16'MenuItemShowGrid'#6'Action'#7#12'ViewShowGrid'#9'AutoCheck'#9
+#7'OnClick'#7#19'ViewShowGridExecute'#0#0#9'TMenuItem'#16'MenuItemShowMask'#6
+'Action'#7#12'ViewShowMask'#9'AutoCheck'#9#7'OnClick'#7#19'ViewShowMaskExecu'
+'te'#0#0#9'TMenuItem'#19'MenuItemShowPreview'#9'AutoCheck'#9#7'Caption'#6#12
+'Show Preview'#7'Checked'#9#7'OnClick'#7#22'ViewShowPreviewExecute'#0#0#0#9
+'TMenuItem'#12'MenuItemHelp'#7'Caption'#6#5'&Help'#0#9'TMenuItem'#18'MenuIte'
+'mHelpTopics'#7'Caption'#6#11'Help Topics'#0#0#9'TMenuItem'#9'MenuItem3'#7'C'
+'aption'#6#1'-'#0#0#9'TMenuItem'#13'MenuItemAbout'#7'Caption'#6#29'About Laz'
+'arus Image Editor...'#7'OnClick'#7#18'MenuItemAboutClick'#0#0#0#0#11'TActio'
+'nList'#10'ActionList'#6'Images'#7#16'ImageListActions'#4'left'#2'r'#3'top'#2
+'Z'#0#7'TAction'#7'FileNew'#8'Category'#6#4'File'#7'Caption'#6#7'&New...'#4
+'Hint'#6#3'New'#10'ImageIndex'#2#0#9'OnExecute'#7#14'FileNewExecute'#8'Short'
+'Cut'#3'N@'#0#0#7'TAction'#8'FileOpen'#8'Category'#6#4'File'#7'Caption'#6#8
+'&Open...'#4'Hint'#6#4'Open'#10'ImageIndex'#2#1#9'OnExecute'#7#15'FileOpenEx'
+'ecute'#8'ShortCut'#3'O@'#0#0#7'TAction'#8'FileSave'#8'Category'#6#4'File'#7
,'Caption'#6#5'&Save'#4'Hint'#6#4'Save'#10'ImageIndex'#2#2#9'OnExecute'#7#15
+'FileSaveExecute'#8'ShortCut'#3'S@'#0#0#7'TAction'#10'FileSaveAs'#8'Category'
+#6#4'File'#7'Caption'#6#11'Save &As...'#4'Hint'#6#7'Save As'#9'OnExecute'#7
+#17'FileSaveAsExecute'#0#0#7'TAction'#9'FileClose'#8'Category'#6#4'File'#7'C'
+'aption'#6#6'&Close'#4'Hint'#6#5'Close'#10'ImageIndex'#2#3#9'OnExecute'#7#16
+'FileCloseExecute'#8'ShortCut'#3's@'#0#0#9'TEditUndo'#8'EditUndo'#8'Category'
+#6#4'Edit'#7'Caption'#6#5'&Undo'#7'Enabled'#8#4'Hint'#6#4'Undo'#10'ImageInde'
+'x'#2#4#8'ShortCut'#3'Z@'#0#0#7'TAction'#8'EditRedo'#8'Category'#6#4'Edit'#7
+'Caption'#6#5'&Redo'#7'Enabled'#8#4'Hint'#6#4'Redo'#10'ImageIndex'#2#5#8'Sho'
+'rtCut'#3'Z`'#0#0#8'TEditCut'#7'EditCut'#8'Category'#6#4'Edit'#7'Caption'#6#4
+'Cu&t'#7'Enabled'#8#4'Hint'#6#3'Cut'#10'ImageIndex'#2#6#9'OnExecute'#7#14'Ed'
+'itCutExecute'#8'ShortCut'#3'X@'#0#0#9'TEditCopy'#8'EditCopy'#8'Category'#6#4
+'Edit'#7'Caption'#6#5'&Copy'#7'Enabled'#8#4'Hint'#6#4'Copy'#10'ImageIndex'#2
+#7#9'OnExecute'#7#15'EditCopyExecute'#8'ShortCut'#3'C@'#0#0#10'TEditPaste'#9
+'EditPaste'#8'Category'#6#4'Edit'#7'Caption'#6#6'&Paste'#7'Enabled'#8#4'Hint'
+#6#5'Paste'#10'ImageIndex'#2#8#9'OnExecute'#7#16'EditPasteExecute'#8'ShortCu'
+'t'#3'V@'#0#0#11'TEditDelete'#10'EditDelete'#8'Category'#6#4'Edit'#7'Caption'
+#6#7'&Delete'#7'Enabled'#8#4'Hint'#6#6'Delete'#10'ImageIndex'#2#9#9'OnExecut'
+'e'#7#17'EditDeleteExecute'#8'ShortCut'#2'.'#0#0#14'TEditSelectAll'#13'EditS'
+'electAll'#8'Category'#6#4'Edit'#7'Caption'#6#11'Select &All'#7'Enabled'#8#4
+'Hint'#6#10'Select All'#9'OnExecute'#7#20'EditSelectAllExecute'#8'ShortCut'#3
+'A@'#0#0#7'TAction'#13'PictureResize'#8'Category'#6#7'Picture'#7'Caption'#6#9
+'Resize...'#0#0#7'TAction'#18'PictureResizePaper'#8'Category'#6#7'Picture'#7
+'Caption'#6#15'Resize Paper...'#0#0#7'TAction'#16'FlipHorizontally'#8'Catego'
+'ry'#6#11'PictureFlip'#7'Caption'#6#12'Horizontally'#9'OnExecute'#7#23'FlipH'
+'orizontallyExecute'#0#0#7'TAction'#14'FlipVertically'#8'Category'#6#11'Pict'
+'ureFlip'#7'Caption'#6#10'Vertically'#9'OnExecute'#7#21'FlipVerticallyExecut'
+'e'#0#0#7'TAction'#8'Rotate90'#8'Category'#6#13'PictureRotate'#7'Caption'#6
+#11'90Clockwise'#9'OnExecute'#7#15'Rotate90Execute'#0#0#7'TAction'#9'Rotate1'
+'80'#8'Category'#6#13'PictureRotate'#7'Caption'#6#12'180Clockwise'#9'OnExecu'
+'te'#7#16'Rotate180Execute'#0#0#7'TAction'#9'Rotate270'#8'Category'#6#13'Pic'
+'tureRotate'#7'Caption'#6#12'270Clockwise'#9'OnExecute'#7#16'Rotate270Execut'
+'e'#0#0#7'TAction'#12'RotateCustom'#8'Category'#6#13'PictureRotate'#7'Captio'
+'n'#6#9'Custom...'#7'Enabled'#8#0#0#7'TAction'#12'ColorsInvert'#8'Category'#6
+#13'PictureColors'#7'Caption'#6#6'Invert'#9'OnExecute'#7#19'ColorsInvertExec'
+'ute'#0#0#7'TAction'#15'ColorsGrayscale'#8'Category'#6#13'PictureColors'#7'C'
+'aption'#6#9'Grayscale'#9'OnExecute'#7#22'ColorsGrayscaleExecute'#0#0#7'TAct'
+'ion'#13'ColorsDisable'#8'Category'#6#13'PictureColors'#7'Caption'#6#7'Disab'
+'le'#9'OnExecute'#7#20'ColorsDisableExecute'#0#0#7'TAction'#15'FileExportAsL'
+'RS'#8'Category'#6#4'File'#7'Caption'#6#19'&Export As *.lrs...'#9'OnExecute'
+#7#22'FileExportAsLRSExecute'#0#0#7'TAction'#10'MaskRemove'#8'Category'#6#4
+'Mask'#7'Caption'#6#6'Remove'#9'OnExecute'#7#17'MaskRemoveExecute'#0#0#7'TAc'
+'tion'#10'MaskInvert'#8'Category'#6#4'Mask'#7'Caption'#6#6'Invert'#9'OnExecu'
+'te'#7#17'MaskInvertExecute'#0#0#7'TAction'#22'PictureClipPaperToMask'#8'Cat'
+'egory'#6#7'Picture'#7'Caption'#6#18'Clip Paper To Mask'#0#0#7'TAction'#12'V'
+'iewShowGrid'#8'Category'#6#4'View'#9'AutoCheck'#9#7'Caption'#6#9'Show Grid'
+'Action'#7#13'PictureResize'#7'OnClick'#7#19'MenuItemResizeClick'#0#0#9'TMen'
+'uItem'#19'MenuItemResizePaper'#6'Action'#7#18'PictureResizePaper'#7'OnClick'
+#7#24'MenuItemResizePaperClick'#0#0#9'TMenuItem'#23'MenuItemClipPaperToMask'
+#6'Action'#7#22'PictureClipPaperToMask'#0#0#9'TMenuItem'#9'MenuItem7'#7'Capt'
+'ion'#6#1'-'#0#0#9'TMenuItem'#12'MenuItemFlip'#7'Caption'#6#4'Flip'#0#9'TMen'
+'uItem'#20'MenuItemHorizontally'#6'Action'#7#16'FlipHorizontally'#7'OnClick'
+#7#23'FlipHorizontallyExecute'#0#0#9'TMenuItem'#18'MenuItemVertically'#6'Act'
+'ion'#7#14'FlipVertically'#7'OnClick'#7#21'FlipVerticallyExecute'#0#0#0#9'TM'
+'enuItem'#14'MenuItemRotate'#7'Caption'#6#6'Rotate'#0#9'TMenuItem'#10'MenuIt'
+'em90'#6'Action'#7#8'Rotate90'#7'OnClick'#7#15'Rotate90Execute'#0#0#9'TMenuI'
+'tem'#11'MenuItem180'#6'Action'#7#9'Rotate180'#7'OnClick'#7#16'Rotate180Exec'
+'ute'#0#0#9'TMenuItem'#11'MenuItem270'#6'Action'#7#9'Rotate270'#7'OnClick'#7
+#16'Rotate270Execute'#0#0#9'TMenuItem'#14'MenuItemCustom'#6'Action'#7#12'Rot'
+'ateCustom'#0#0#0#9'TMenuItem'#9'MenuItem4'#7'Caption'#6#1'-'#0#0#9'TMenuIte'
+'m'#14'MenuItemColors'#7'Caption'#6#6'Colors'#0#9'TMenuItem'#14'MenuItemInve'
+'rt'#6'Action'#7#12'ColorsInvert'#7'OnClick'#7#19'ColorsInvertExecute'#0#0#9
+'TMenuItem'#17'MenuItemGrayscale'#6'Action'#7#15'ColorsGrayscale'#7'OnClick'
+#7#22'ColorsGrayscaleExecute'#0#0#9'TMenuItem'#15'MenuItemDisable'#6'Action'
+#7#13'ColorsDisable'#7'OnClick'#7#20'ColorsDisableExecute'#0#0#0#0#9'TMenuIt'
+'em'#12'MenuItemMask'#7'Caption'#6#4'Mask'#0#9'TMenuItem'#18'MenuItemMaskInv'
+'ert'#6'Action'#7#10'MaskInvert'#7'OnClick'#7#17'MaskInvertExecute'#0#0#9'TM'
+'enuItem'#18'MenuItemMaskRemove'#6'Action'#7#10'MaskRemove'#7'OnClick'#7#17
+'MaskRemoveExecute'#0#0#0#9'TMenuItem'#12'MenuItemView'#7'Caption'#6#4'View'
+#0#9'TMenuItem'#16'MenuItemShowGrid'#6'Action'#7#12'ViewShowGrid'#9'AutoChec'
+'k'#9#7'OnClick'#7#19'ViewShowGridExecute'#0#0#9'TMenuItem'#16'MenuItemShowM'
+'ask'#6'Action'#7#12'ViewShowMask'#9'AutoCheck'#9#7'OnClick'#7#19'ViewShowMa'
+'skExecute'#0#0#9'TMenuItem'#19'MenuItemShowPreview'#9'AutoCheck'#9#7'Captio'
+'n'#6#12'Show Preview'#7'Checked'#9#7'OnClick'#7#22'ViewShowPreviewExecute'#0
+#0#0#9'TMenuItem'#12'MenuItemHelp'#7'Caption'#6#5'&Help'#0#9'TMenuItem'#18'M'
+'enuItemHelpTopics'#7'Caption'#6#11'Help Topics'#0#0#9'TMenuItem'#9'MenuItem'
+'3'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#13'MenuItemAbout'#7'Caption'#6#29'Abo'
+'ut Lazarus Image Editor...'#7'OnClick'#7#18'MenuItemAboutClick'#0#0#0#0#11
+'TActionList'#10'ActionList'#6'Images'#7#16'ImageListActions'#4'left'#2'r'#3
+'top'#2'Z'#0#7'TAction'#7'FileNew'#8'Category'#6#4'File'#7'Caption'#6#7'&New'
+'...'#4'Hint'#6#3'New'#10'ImageIndex'#2#0#9'OnExecute'#7#14'FileNewExecute'#8
+'ShortCut'#3'N@'#0#0#7'TAction'#8'FileOpen'#8'Category'#6#4'File'#7'Caption'
+#6#8'&Open...'#4'Hint'#6#4'Open'#10'ImageIndex'#2#1#9'OnExecute'#7#15'FileOp'
,'enExecute'#8'ShortCut'#3'O@'#0#0#7'TAction'#8'FileSave'#8'Category'#6#4'Fil'
+'e'#7'Caption'#6#5'&Save'#4'Hint'#6#4'Save'#10'ImageIndex'#2#2#9'OnExecute'#7
+#15'FileSaveExecute'#8'ShortCut'#3'S@'#0#0#7'TAction'#10'FileSaveAs'#8'Categ'
+'ory'#6#4'File'#7'Caption'#6#11'Save &As...'#4'Hint'#6#7'Save As'#9'OnExecut'
+'e'#7#17'FileSaveAsExecute'#0#0#7'TAction'#9'FileClose'#8'Category'#6#4'File'
+#7'Caption'#6#6'&Close'#4'Hint'#6#5'Close'#10'ImageIndex'#2#3#9'OnExecute'#7
+#16'FileCloseExecute'#8'ShortCut'#3's@'#0#0#9'TEditUndo'#8'EditUndo'#8'Categ'
+'ory'#6#4'Edit'#7'Caption'#6#5'&Undo'#7'Enabled'#8#4'Hint'#6#4'Undo'#10'Imag'
+'eIndex'#2#4#8'ShortCut'#3'Z@'#0#0#7'TAction'#8'EditRedo'#8'Category'#6#4'Ed'
+'it'#7'Caption'#6#5'&Redo'#7'Enabled'#8#4'Hint'#6#4'Redo'#10'ImageIndex'#2#5
+#8'ShortCut'#3'Z`'#0#0#8'TEditCut'#7'EditCut'#8'Category'#6#4'Edit'#7'Captio'
+'n'#6#4'Cu&t'#7'Enabled'#8#4'Hint'#6#3'Cut'#10'ImageIndex'#2#6#9'OnExecute'#7
+#14'EditCutExecute'#8'ShortCut'#3'X@'#0#0#9'TEditCopy'#8'EditCopy'#8'Categor'
+'y'#6#4'Edit'#7'Caption'#6#5'&Copy'#7'Enabled'#8#4'Hint'#6#4'Copy'#10'ImageI'
+'ndex'#2#7#9'OnExecute'#7#15'EditCopyExecute'#8'ShortCut'#3'C@'#0#0#10'TEdit'
+'Paste'#9'EditPaste'#8'Category'#6#4'Edit'#7'Caption'#6#6'&Paste'#7'Enabled'
+#8#4'Hint'#6#5'Paste'#10'ImageIndex'#2#8#9'OnExecute'#7#16'EditPasteExecute'
+#8'ShortCut'#3'V@'#0#0#11'TEditDelete'#10'EditDelete'#8'Category'#6#4'Edit'#7
+'Caption'#6#7'&Delete'#7'Enabled'#8#4'Hint'#6#6'Delete'#10'ImageIndex'#2#9#9
+'OnExecute'#7#17'EditDeleteExecute'#8'ShortCut'#2'.'#0#0#14'TEditSelectAll'
+#13'EditSelectAll'#8'Category'#6#4'Edit'#7'Caption'#6#11'Select &All'#7'Enab'
+'led'#8#4'Hint'#6#10'Select All'#9'OnExecute'#7#20'EditSelectAllExecute'#8'S'
+'hortCut'#3'A@'#0#0#7'TAction'#13'PictureResize'#8'Category'#6#7'Picture'#7
+'Caption'#6#9'Resize...'#0#0#7'TAction'#18'PictureResizePaper'#8'Category'#6
+#7'Picture'#7'Caption'#6#15'Resize Paper...'#0#0#7'TAction'#16'FlipHorizonta'
+'lly'#8'Category'#6#11'PictureFlip'#7'Caption'#6#12'Horizontally'#9'OnExecut'
+'e'#7#23'FlipHorizontallyExecute'#0#0#7'TAction'#14'FlipVertically'#8'Catego'
+'ry'#6#11'PictureFlip'#7'Caption'#6#10'Vertically'#9'OnExecute'#7#21'FlipVer'
+'ticallyExecute'#0#0#7'TAction'#8'Rotate90'#8'Category'#6#13'PictureRotate'#7
+'Caption'#6#11'90Clockwise'#9'OnExecute'#7#15'Rotate90Execute'#0#0#7'TAction'
+#9'Rotate180'#8'Category'#6#13'PictureRotate'#7'Caption'#6#12'180Clockwise'#9
+'OnExecute'#7#16'Rotate180Execute'#0#0#7'TAction'#9'Rotate270'#8'Category'#6
+#13'PictureRotate'#7'Caption'#6#12'270Clockwise'#9'OnExecute'#7#16'Rotate270'
+'Execute'#0#0#7'TAction'#12'RotateCustom'#8'Category'#6#13'PictureRotate'#7
+'Caption'#6#9'Custom...'#7'Enabled'#8#0#0#7'TAction'#12'ColorsInvert'#8'Cate'
+'gory'#6#13'PictureColors'#7'Caption'#6#6'Invert'#9'OnExecute'#7#19'ColorsIn'
+'vertExecute'#0#0#7'TAction'#15'ColorsGrayscale'#8'Category'#6#13'PictureCol'
+'ors'#7'Caption'#6#9'Grayscale'#9'OnExecute'#7#22'ColorsGrayscaleExecute'#0#0
+#7'TAction'#13'ColorsDisable'#8'Category'#6#13'PictureColors'#7'Caption'#6#7
+'Disable'#9'OnExecute'#7#20'ColorsDisableExecute'#0#0#7'TAction'#15'FileExpo'
+'rtAsLRS'#8'Category'#6#4'File'#7'Caption'#6#19'&Export As *.lrs...'#9'OnExe'
+'cute'#7#22'FileExportAsLRSExecute'#0#0#7'TAction'#10'MaskRemove'#8'Category'
+#6#4'Mask'#7'Caption'#6#6'Remove'#9'OnExecute'#7#17'MaskRemoveExecute'#0#0#7
+'TAction'#10'MaskInvert'#8'Category'#6#4'Mask'#7'Caption'#6#6'Invert'#9'OnEx'
+'ecute'#7#17'MaskInvertExecute'#0#0#7'TAction'#22'PictureClipPaperToMask'#8
+'Category'#6#7'Picture'#7'Caption'#6#18'Clip Paper To Mask'#0#0#7'TAction'#12
+'ViewShowGrid'#8'Category'#6#4'View'#9'AutoCheck'#9#7'Caption'#6#9'Show Grid'
+#7'Checked'#9#9'OnExecute'#7#19'ViewShowGridExecute'#0#0#7'TAction'#12'ViewS'
+'howMask'#8'Category'#6#4'View'#9'AutoCheck'#9#7'Caption'#6#9'Show Mask'#7'C'
+'hecked'#9#9'OnExecute'#7#19'ViewShowMaskExecute'#0#0#0#10'TImageList'#14'Im'
@ -1536,11 +1537,11 @@ LazarusResources.Add('TMainForm','FORMDATA',[
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#128#0#0#255#128#0#0#255#128#0#0#255#128#0#0#255#255#255#255#0#255#255
,#255#0#128#0#0#255#128#0#0#255#128#0#0#255#128#0#0#255#255#255#255#0#255#255
+#255#0#128#0#0#255#128#0#0#255#128#0#0#255#128#0#0#255#255#255#255#0#255#255
+#255#0#128#0#0#255#128#0#0#255#128#0#0#255#128#0#0#255#255#255#255#0#255#255
+#255#0#128#0#0#255#128#0#0#255#128#0#0#255#128#0#0#255#255#255#255#0#255#255
+#255#0#128#0#0#255#128#0#0#255#128#0#0#255#128#0#0#255#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#128#0#0#255#128#0#0#255#128#0#0#255#128#0
+#0#255#255#255#255#0#255#255#255#0#128#0#0#255#128#0#0#255#128#0#0#255#128#0
+#0#255#255#255#255#0#255#255#255#0#128#0#0#255#128#0#0#255#128#0#0#255#128#0
@ -1600,8 +1601,8 @@ LazarusResources.Add('TMainForm','FORMDATA',[
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
,#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
,#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
@ -1664,8 +1665,8 @@ LazarusResources.Add('TMainForm','FORMDATA',[
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#128#0
+#0#255#128#0#0#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
,#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
,#0#255#128#0#0#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
@ -1728,8 +1729,8 @@ LazarusResources.Add('TMainForm','FORMDATA',[
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#0#5#6#186#1'9D'#255#4#154#190#255#2#171
+#223#255#1'z'#170#255#0#21#31#255#2#15#20#255#18'Ob'#255#26'o'#138#255#26'o'
+#138#255#26'o'#138#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255
,#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
,#138#255#26'o'#138#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255
+#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#0#0#0#5#0#4#5#219#0#13#15#255#0#0#0#255#0#2#3#255#0'#3'#255#0'f'#146#255#1
@ -1792,8 +1793,8 @@ LazarusResources.Add('TMainForm','FORMDATA',[
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#16#16#16'm'#230#230#230#255#129
+#129#129#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#243#0#3
,#3#157#0#0#0'~'#0#0#0#13#255#255#255#0#255#255#255#0#255#255#255#0#255#255
,#129#129#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#243#0#3
+#3#157#0#0#0'~'#0#0#0#13#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
@ -1856,8 +1857,8 @@ LazarusResources.Add('TMainForm','FORMDATA',[
+'Q'#225#255#0'+'#177#255#0#3#12#236#0#0#0#1#255#255#255#0#255#255#255#0#0#0#0
+'*'#29#7#6#240#235#131'|'#255#238#132#129#255#238#131#130#255#235'nh'#255#230
+'PE'#255#225'2!'#255#179#18#0#255#16#2#0#224#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
,#255#0#255#255#255#0#0#0#0'L'#4#19'@'#240'1['#227#255'Nq'#231#255'a'#127#234
,#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#0#0#0'L'#4#19'@'#240'1['#227#255'Nq'#231#255'a'#127#234
+#255'^}'#234#255'Hm'#231#255'*U'#224#255#7'2'#182#255#0#10')'#239#0#0#0'1'
+#255#255#255#0#255#255#255#0#17#2#0#168#139#21#8#253#227'<-'#255#230'SH'#255
+#233'aX'#255#232'^U'#255#229'MA'#255#206'0!'#255#155#18#2#255#24#2#0#240#0#0
@ -1920,8 +1921,8 @@ LazarusResources.Add('TMainForm','FORMDATA',[
+#255#0'd'#201#255#0'd'#201#255#0'd'#201#255#0'd'#201#255#0'd'#201#255#0'd'
+#201#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255
+#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#152
,#0#0#0#255#6'*O'#255#13'k'#203#255#0'd'#201#255#0'd'#201#255#0'd'#201#255#0
,#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#152
+#0#0#0#255#6'*O'#255#13'k'#203#255#0'd'#201#255#0'd'#201#255#0'd'#201#255#0
+'d'#201#255#0'd'#201#255#0'd'#201#255#0'd'#201#255#0'd'#201#255#0'd'#201#255
+#0'd'#201#255#0'd'#201#255#0'd'#201#255#0'['#184#255#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
@ -1984,8 +1985,8 @@ LazarusResources.Add('TMainForm','FORMDATA',[
+#255#255#0#255#255#255#0#0#0#0#21#0#1#1#252'/2<'#255#203#209#228#255#170#180
+#211#255#157#168#204#255#157#168#204#255#157#168#204#255#157#168#204#255#157
+#168#204#255#157#168#204#255#157#168#204#255#148#159#193#255'EJZ'#255#1#1#2
+#254#0#0#0#255#0#0#0#155#255#255#255#0#255#255#255#0#255#255#255#0#255#255
,#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
,#254#0#0#0#255#0#0#0#155#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#0#0#0'j'#0#0#0#255'z'#128#147#255#185#193#218#255#157#168#204#255
+#157#168#204#255#157#168#204#255#157#168#204#255#157#168#204#255#157#168#204
@ -2048,8 +2049,8 @@ LazarusResources.Add('TMainForm','FORMDATA',[
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
,#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
,#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
@ -2112,8 +2113,8 @@ LazarusResources.Add('TMainForm','FORMDATA',[
+#185#205#255#129#187#199#255'?'#144#154#255#4'PS'#255#0#6#7#255#0#0#0#255#0
+#22'-'#255#0'U'#171#255#0'd'#201#255#0'd'#201#255#0'd'#201#255#0'd'#201#255#0
+'6m'#255#0#0#0#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
,#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#29#0
,#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#29#0
+#1#2#250#3#11#15#255'f'#190#220#255#130#224#245#255'^'#228#246#255#12#238#249
+#255#14#249#253#255#10#213#231#255#4'l'#127#255#0#5#7#255#0#4#8#255#0'T'#169
+#255#0'd'#201#255#0'd'#201#255#0'H'#145#255#0#0#1#254#0#0#0#196#255#255#255#0
@ -2176,8 +2177,8 @@ LazarusResources.Add('TMainForm','FORMDATA',[
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#154#2#1
+#2#254#199#139#220#255#227#159#252#255#227#159#252#255#227#159#252#255#227
+#159#252#255#227#159#252#255#227#159#252#255#227#159#252#255#227#159#252#255
+#227#159#252#255#146'f'#163#255#0#0#0#255#0#0#0#255#0#2#2#251#0#0#0#31#255
,#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
,#227#159#252#255#146'f'#163#255#0#0#0#255#0#0#0#255#0#2#2#251#0#0#0#31#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#1#1#2#216'3#8'#255
+#227#159#252#255#227#159#252#255#227#159#252#255#227#159#252#255#227#159#252
@ -2240,8 +2241,8 @@ LazarusResources.Add('TMainForm','FORMDATA',[
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
,#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
,#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
@ -2304,8 +2305,8 @@ LazarusResources.Add('TMainForm','FORMDATA',[
+#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
,#255#255#0#255#255#255#0#255#255#255#0#0#0#0#255#0#0#0#255#0#0#0#255#255#255
,#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#0#0#0#255#0#0#0#255#0#0#0#255#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
@ -2368,8 +2369,8 @@ LazarusResources.Add('TMainForm','FORMDATA',[
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#0#0#0#255#0#0#0#255#0#0#0#255#255#255#255
+#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
,#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
,#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
@ -2432,8 +2433,8 @@ LazarusResources.Add('TMainForm','FORMDATA',[
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#128#128#128#255#255#255#255
+#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
,#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
,#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
@ -2496,8 +2497,8 @@ LazarusResources.Add('TMainForm','FORMDATA',[
+#14#6#247'y'#243'x'#255#134#244#133#255#143#246#141#255#143#246#141#255#135
+#244#133#255'y'#243'y'#255'j'#240'j'#255'N'#206'N'#255','#143'-'#255#23']'#25
+#255#16'D'#18#255#12'C'#13#255#7'B'#9#255#6'B'#8#255#6'B'#8#255#6'A'#8#255#6
+'A'#8#255#5'A'#7#255#1'['#3#255#0'N'#1#255#0#9#0#201#255#255#255#0#255#255
,#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
,'A'#8#255#5'A'#7#255#1'['#3#255#0'N'#1#255#0#9#0#201#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#0#0#0'@'#6#14#6#247'l'#241'l'#255'w'#242'v'#255
+'}'#243'|'#255'}'#243'|'#255'w'#242'w'#255'k'#237'k'#255'1y2'#255#3#4#4#255
+'&'#29'+'#255'U0`'#255'r='#128#255'q:'#128#255'o6'#127#255'm1'#127#255'k+}'
@ -2560,8 +2561,8 @@ LazarusResources.Add('TMainForm','FORMDATA',[
+#255#0#226#4#255#0#226#4#255#0#141#2#255#28#18'"'#255#196'D'#235#255#198'I'
+#236#255#200'L'#237#255#200'N'#237#255#200'M'#237#255#198'I'#236#255#196'D'
+#235#255#193'='#234#255#190'5'#233#255#186'+'#232#255#181'!'#230#255#177#21
+#229#255#172#10#227#255#168#0#226#255#168#0#226#255#168#0#226#255#168#0#226
,#255#168#0#226#255#24#0'!'#243#0#0#0'X'#255#255#255#0#255#255#255#0#255#255
,#229#255#172#10#227#255#168#0#226#255#168#0#226#255#168#0#226#255#168#0#226
+#255#168#0#226#255#24#0'!'#243#0#0#0'X'#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#0#0#0'@'#0#13#0#247#0#226#4#255#0#226#4
+#255#0#226#4#255#0#141#2#255#27#16'"'#255#190'6'#233#255#192';'#234#255#193
+'='#234#255#194'>'#234#255#193'='#234#255#192':'#234#255#190'5'#233#255#187
@ -2624,8 +2625,8 @@ LazarusResources.Add('TMainForm','FORMDATA',[
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
,#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
,#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
@ -2688,8 +2689,8 @@ LazarusResources.Add('TMainForm','FORMDATA',[
+'E'#183#235#255'6'#176#233#255''''#170#231#255#23#163#229#255#8#157#227#255#0
+#154#226#255#0#154#226#255#0#154#226#255#0#153#225#255#0'$4'#250#0#4#6#197
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#0#0#0#7#1#3#3#246'''p'#146#255'M'#186#237#255'Z'#191
,#238#255'f'#196#240#255'o'#200#241#255'u'#203#242#255'w'#204#243#255'u'#202
,#255#255#0#255#255#255#0#0#0#0#7#1#3#3#246'''p'#146#255'M'#186#237#255'Z'#191
+#238#255'f'#196#240#255'o'#200#241#255'u'#203#242#255'w'#204#243#255'u'#202
+#242#255'n'#200#241#255'd'#196#240#255'X'#191#238#255'K'#185#236#255'>'#179
+#234#255'/'#173#232#255' '#167#230#255#17#161#228#255#2#154#226#255#0#154#226
+#255#0#154#226#255#0#154#226#255#0#154#226#255#0'}'#183#255#0#0#0#255#0#0#0
@ -2752,8 +2753,8 @@ LazarusResources.Add('TMainForm','FORMDATA',[
+#226#255#0#154#226#255#0#154#226#255#0#154#226#255#0#154#226#255#0#154#226
+#255#0#154#226#255#0#154#226#255#0#154#226#255#0#154#226#255#0#154#226#255#0
+#154#226#255#0#145#213#255#0#14#20#250#0#2#3#153#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
,#255#255#0#255#255#255#0#0#4#6#184#0#26'%'#250#0#151#222#255#0#154#226#255#0
,#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#0#4#6#184#0#26'%'#250#0#151#222#255#0#154#226#255#0
+#154#226#255#0#154#226#255#0#154#226#255#0#154#226#255#0#154#226#255#0#154
+#226#255#0#154#226#255#0#154#226#255#0#154#226#255#0#154#226#255#0#154#226
+#255#0#154#226#255#0#154#226#255#0#154#226#255#0#154#226#255#0#154#226#255#0
@ -2816,8 +2817,8 @@ LazarusResources.Add('TMainForm','FORMDATA',[
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
,#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
,#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
@ -2880,8 +2881,8 @@ LazarusResources.Add('TMainForm','FORMDATA',[
+#0' '#8#4#2#218#30#13#12#248#189'WR'#255#236'so'#255#237'zw'#255#238#128'}'
+#255#238#132#130#255#238#133#131#255#238#131#129#255#237'~{'#255#236'xt'#255
+#235'ql'#255#234'jd'#255#233'c['#255#232'[R'#255#230'SI'#255#229'L?'#255#228
+'D6'#255#227'<-'#255#225'4#'#255#224','#26#255#223'$'#16#255#221#28#7#255#190
,#19#0#255'('#4#0#247#7#1#0#225#0#0#0'('#255#255#255#0#255#255#255#0#255#255
,'D6'#255#227'<-'#255#225'4#'#255#224','#26#255#223'$'#16#255#221#28#7#255#190
+#19#0#255'('#4#0#247#7#1#0#225#0#0#0'('#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#0#0#0'%'#0#0#0#255#201'UO'#255#234'ic'#255#235'pj'#255
+#236'uq'#255#237'zv'#255#237'|y'#255#237'}y'#255#237'{w'#255#236'ws'#255#235
+'rm'#255#234'le'#255#233'e^'#255#232'^U'#255#231'WM'#255#230'OD'#255#229'H;'
@ -2944,8 +2945,8 @@ LazarusResources.Add('TMainForm','FORMDATA',[
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#2#0#0
+#140'@'#10#4#248#223'#'#15#255#223'#'#15#255#222'"'#14#255#222' '#12#255#222
+#30#10#255#221#28#7#255#221#25#3#255#221#22#0#255#221#22#0#255#221#22#0#255
+#221#22#0#255#221#22#0#255#221#22#0#255#221#22#0#255#221#22#0#255#221#22#0
,#255'V'#8#0#252#6#0#0#168#255#255#255#0#255#255#255#0#255#255#255#0#255#255
,#221#22#0#255#221#22#0#255#221#22#0#255#221#22#0#255#221#22#0#255#221#22#0
+#255'V'#8#0#252#6#0#0#168#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0'9'#4#0#0#252#210#26#6#255
+#221#26#5#255#221#25#4#255#221#24#2#255#221#22#0#255#221#22#0#255#221#22#0
@ -3008,8 +3009,8 @@ LazarusResources.Add('TMainForm','FORMDATA',[
+#255#255#255#0#0#0#0#1#0#0#0'5'#0#0#0'~'#0#0#0#200#0#0#0#253#0#0#0#255#0#0#0
+#255#0#0#0#255#10#13#13#255'$23'#255'7LN'#255'4HJ'#255'0CD'#255#12#17#17#254
+#0#0#0#255#0#0#0#220#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
,#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#18#0
,#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#18#0
+#0#0'u'#0#0#0#222#0#0#0#255#0#0#0#255#0#0#0#255' ,-'#255'Rqt'#255'z'#169#173
+#255#130#179#183#255't'#161#164#255'Wy|'#255';RT'#255'0CD'#255'3GI'#255'''67'
+#255#0#0#0#255#0#0#0#250#0#0#0#10#255#255#255#0#255#255#255#0#255#255#255#0
@ -3072,8 +3073,8 @@ LazarusResources.Add('TMainForm','FORMDATA',[
+#255#162'9;'#255#165':<'#255't)*'#255#0#0#0#255#181#181#181#255#229#229#229
+#255#223#223#223#255#161#160#157#255'oj_'#255'ukU'#255#180#160's'#255#209#186
+#133#255#207#184#131#255#205#182#129#255'b]R'#255#186#186#186#255#181#181#181
+#255#177#177#177#255#173#173#173#255#168#168#168#255#215#138#139#255#240#207
,#207#255#240#207#207#255#239#203#204#255#207'ac'#255#200'GI'#255#200'GI'#255
,#255#177#177#177#255#173#173#173#255#168#168#168#255#215#138#139#255#240#207
+#207#255#240#207#207#255#239#203#204#255#207'ac'#255#200'GI'#255#200'GI'#255
+#200'GI'#255#200'GI'#255#200'GI'#255#200'GI'#255#149'46'#255'w*+'#255#137'01'
+#255#19#8#8#255'210'#255#131#127'y'#255'zvk'#255'vnZ'#255#171#153'p'#255#215
+#192#139#255#213#190#137#255#211#188#135#255#209#186#133#255#207#184#131#255
@ -3136,8 +3137,8 @@ LazarusResources.Add('TMainForm','FORMDATA',[
+#0#255'}}}'#255#220#220#220#255#216#216#216#255#211#211#211#255#207#207#207
+#255#203#203#203#255#198#198#198#255#194#194#194#255#190#190#190#255#148#148
+#148#255'888'#255#0#0#0#255#0#0#0#255#0#0#0#216#0#0#0'^'#200'GI'#255#200'GI'
+#255#200'GI'#255#200'GI'#255#200'GI'#255#200'GI'#255#200'GI'#255#224#152#153
,#255#240#207#207#255#240#207#207#255#240#206#207#255#205'XZ'#255#200'GI'#255
,#255#200'GI'#255#200'GI'#255#200'GI'#255#200'GI'#255#200'GI'#255#224#152#153
+#255#240#207#207#255#240#207#207#255#240#206#207#255#205'XZ'#255#200'GI'#255
+#200'GI'#255#200'GI'#255'B'#24#24#255#20#18#18#255#216#216#216#255#219#219
+#219#255#215#215#215#255#211#211#211#255#206#206#206#255#173#173#173#255#128
+#128#128#255'SSS'#255'((('#255#0#0#0#255#0#0#0#255#0#0#0#212#0#0#0'X'#0#0#0#2
@ -3200,8 +3201,8 @@ LazarusResources.Add('TMainForm','FORMDATA',[
+#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0'D'#6#6#6#200#3#3#3#252'KKK'
,#251'yyy'#255#160#160#160#255#142#142#142#255#0#0#0#255#2#2#2#171#255#255#255
,#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0'D'#6#6#6#200#3#3#3#252'KKK'
+#251'yyy'#255#160#160#160#255#142#142#142#255#0#0#0#255#2#2#2#171#255#255#255
+#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
@ -3264,8 +3265,8 @@ LazarusResources.Add('TMainForm','FORMDATA',[
+#255#234#230#144#255#234#230#144#255#234#230#144#255'UT4'#252#2#2#1#237#0#0#0
+#255#7#7#7#255#194#194#194#255#223#223#223#255#218#218#218#255#212#212#212
+#255#206#206#206#255#200#200#200#255#184#184#184#255'eee'#255#11#14#14#255#11
+#27#28#255'6'#175#177#255';'#204#206#255'6'#201#203#255'0'#198#199#255'+'#195
,#196#255#27#142#143#255#20'vv'#255#234#230#144#255#234#230#144#255#234#230
,#27#28#255'6'#175#177#255';'#204#206#255'6'#201#203#255'0'#198#199#255'+'#195
+#196#255#27#142#143#255#20'vv'#255#234#230#144#255#234#230#144#255#234#230
+#144#255#234#230#144#255#234#230#144#255#234#230#144#255#234#230#144#255#234
+#230#144#255#234#230#144#255#234#230#144#255#192#189'v'#255#1#1#0#254#0#0#0
+'H'#0#0#0#147#16#16#16#250#211#211#211#255#218#218#218#255#213#213#213#255
@ -3328,8 +3329,8 @@ LazarusResources.Add('TMainForm','FORMDATA',[
+#255'3'#150#153#255'B'#208#211#255'<'#204#207#255'6'#201#203#255'0'#197#199
+#255#234#230#144#255#234#230#144#255#234#230#144#255#234#230#144#255#234#230
+#144#255'`^;'#253#5#5#3#223#0#0#0#4#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#3#8#8#222'3'#127#130#255'i'#226
,#230#255'`'#225#230#255'b'#226#231#255'^'#217#222#255'I'#171#174#255'(ac'#255
,#255#255#255#0#255#255#255#0#255#255#255#0#3#8#8#222'3'#127#130#255'i'#226
+#230#255'`'#225#230#255'b'#226#231#255'^'#217#222#255'I'#171#174#255'(ac'#255
+#9#23#24#255#0#0#0#255#26'CE'#255'>'#167#170#255'J'#213#216#255'E'#209#213
+#255'?'#206#209#255':'#203#205#255'4'#200#201#255'.'#196#198#255#234#230#144
+#255#234#230#144#255#234#230#144#255#234#230#144#255#200#196'{'#255#2#2#1#253
@ -3392,8 +3393,8 @@ LazarusResources.Add('TMainForm','FORMDATA',[
+#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
+#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
+#255#255#255#255#255#255#255#250#255#15#15#15#246#0#0#0#23#255#255#255#0#255
+#255#255#0#255#255#255#0#255#255#255#0#0#0#0#25#15#15#15#245#255#255#255#255
,#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
,#255#255#0#255#255#255#0#255#255#255#0#0#0#0#25#15#15#15#245#255#255#255#255
+#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
+#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
+#255#255#255#255#248#255#13#13#13#247#0#0#0#20#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#0#0#0#26#16#16#16#245#255#255#255#255#255#255
@ -3456,8 +3457,8 @@ LazarusResources.Add('TMainForm','FORMDATA',[
+#255#163#136'n'#255#158#131'j'#255#158#132'k'#255#164#139'q'#255#163#138'p'
+#255#154#129'i'#255#145'yb'#255#134'pZ'#255'saN'#255'TH;'#254#9#4#0#165#9#6#4
+#239#242#206#170#255#248#208#171#255#247#194#152#255#244#182#133#255#240#171
+'x'#255#236#165'q'#255#232#160'h'#255#227#153'a'#255#222#148'Z'#255#218#142
,'R'#255#213#136'K'#255#208#130'D'#255#205#128'A'#255#203#129'C'#255#209#143
,'x'#255#236#165'q'#255#232#160'h'#255#227#153'a'#255#222#148'Z'#255#218#142
+'R'#255#213#136'K'#255#208#130'D'#255#205#128'A'#255#203#129'C'#255#209#143
+'V'#255#218#161'm'#255#232#184#140#255#240#204#168#255#8#3#0#232#10#7#4#239
+#230#190#154#255#248#180#131#255#250#181#131#255#248#178#128#255#243#173'y'
+#255#238#167'r'#255#234#161'k'#255#229#155'c'#255#224#149'\'#255#219#143'T'
@ -3520,8 +3521,8 @@ LazarusResources.Add('TMainForm','FORMDATA',[
+#0#0#255'^'#0#0#255#10#0#0#198#8#0#0#225'j'#0#0#255'{'#0#0#255'{'#0#0#255'y'
+#0#0#255'~VU'#255#137'us'#255#137'sr'#255#137'sq'#255#137'rp'#255#137'qo'#255
+#135'nl'#255#132'ki'#255#131'jh'#255#135'kj'#255'v10'#255'{'#0#0#255'{'#0#0
+#255']'#0#0#255#10#0#0#197#8#0#0#225'j'#0#0#255'{'#0#0#255'{'#0#0#255'{'#0#0
,#255'{'#0#0#255'{'#0#0#255'{'#0#0#255'{'#0#0#255'{'#0#0#255'{'#0#0#255'{'#0#0
,#255']'#0#0#255#10#0#0#197#8#0#0#225'j'#0#0#255'{'#0#0#255'{'#0#0#255'{'#0#0
+#255'{'#0#0#255'{'#0#0#255'{'#0#0#255'{'#0#0#255'{'#0#0#255'{'#0#0#255'{'#0#0
+#255'{'#0#0#255'{'#0#0#255'{'#0#0#255'{'#0#0#255'{'#0#0#255'{'#0#0#255'\'#0#0
+#255#10#0#0#196#8#0#0#224'j'#0#0#255'{'#0#0#255'{'#0#0#255'{'#0#0#255'{'#0#0
+#255'{'#0#0#255'{'#0#0#255'{'#0#0#255'{'#0#0#255'{'#0#0#255'{'#0#0#255'{'#0#0
@ -3584,8 +3585,8 @@ LazarusResources.Add('TMainForm','FORMDATA',[
+#255'"#,'#253#2#3#18#183#2#4#18#177#21#22#31#248'RRR'#255'^^^'#255'ccc'#255
+'hhh'#255'mmm'#255'qqq'#255'zzz'#255#30#31'('#249'"#+'#249'zzz'#255'sss'#255
+'nnn'#255'jjj'#255'eee'#255'```'#255'VVV'#255#16#17#26#247#1#3#16#156#0#0#0
+#21#2#3#9#229#28#29'$'#250'SSS'#255'aaa'#255'fff'#255'jjj'#255'nnn'#255'rrr'
,#255'rrr'#255'sss'#255'sss'#255'ppp'#255'lll'#255'hhh'#255'ccc'#255'XXX'#255
,#21#2#3#9#229#28#29'$'#250'SSS'#255'aaa'#255'fff'#255'jjj'#255'nnn'#255'rrr'
+#255'rrr'#255'sss'#255'sss'#255'ppp'#255'lll'#255'hhh'#255'ccc'#255'XXX'#255
+#23#24'!'#251#2#3#10#228#0#0#0#14#255#255#255#0#0#0#0#23#2#3#10#232#28#29'%'
+#250'VVV'#255'ccc'#255'ggg'#255'kkk'#255'mmm'#255'ooo'#255'ooo'#255'nnn'#255
+'lll'#255'iii'#255'eee'#255'\\\'#255#24#25'"'#251#2#3#10#231#0#0#0#21#255#255
@ -3648,8 +3649,8 @@ LazarusResources.Add('TMainForm','FORMDATA',[
+'d?'#245'494'#235'333N'#255#255#255#0#255#255#255#0'333+685'#245'z'#170't'
+#255#151#212#142#255#153#213#145#255#151#212#142#255#146#210#138#255#141#208
+#132#255#136#206'~'#255#131#203'y'#255'}'#201's'#255'x'#199'm'#255'r'#197'g'
+#255'm'#194'a'#255'g'#192'['#255'a'#190'U'#255'R'#154'H'#255'5:4'#245'333='
,#255#255#255#0#255#255#255#0'333J8;7'#247#131#187'{'#255#145#210#136#255#144
,#255'm'#194'a'#255'g'#192'['#255'a'#190'U'#255'R'#154'H'#255'5:4'#245'333='
+#255#255#255#0#255#255#255#0'333J8;7'#247#131#187'{'#255#145#210#136#255#144
+#209#135#255'w'#171'p'#255'g'#145'b'#255'd'#142'^'#255'f'#151'_'#255'o'#176
+'g'#255'u'#196'j'#255'p'#196'e'#255'k'#194'`'#255'f'#191'Z'#255'`'#189'T'#255
+'['#187'N'#255'K'#146'A'#255'483'#234'333'#13#255#255#255#0#255#255#255#0'56'
@ -3712,8 +3713,8 @@ LazarusResources.Add('TMainForm','FORMDATA',[
+#200'o'#255't'#198'j'#255'o'#196'd'#255'j'#193'_'#255'e'#191'Y'#255'`'#189'T'
+#255'['#187'N'#255'U'#185'H'#255'>b9'#252'483'#174#255#255#255#0'333D;?:'#246
+#152#191#146#255#168#219#161#255#148#210#139#255#143#209#134#255#139#207#130
+#255#135#205'}'#255#130#203'x'#255'}'#201'r'#255'x'#199'm'#255'r'#197'g'#255
,'m'#194'a'#255'g'#192'\'#255'b'#190'V'#255'\'#188'P'#255'M'#148'C'#255'473'
,#255#135#205'}'#255#130#203'x'#255'}'#201'r'#255'x'#199'm'#255'r'#197'g'#255
+'m'#194'a'#255'g'#192'\'#255'b'#190'V'#255'\'#188'P'#255'M'#148'C'#255'473'
+#243'333&333'#16'696'#237#147#185#141#255#164#217#156#255#154#213#145#255#153
+#213#144#255#148#211#139#255#143#209#134#255#136#203'~'#255'v'#178'o'#255'e'
+#150'^'#255']'#140'W'#255'['#140'T'#255'`'#162'X'#255'i'#193']'#255'c'#190'W'
@ -3776,8 +3777,8 @@ LazarusResources.Add('TMainForm','FORMDATA',[
+#255#0#255#255#255#0#255#255#255#0#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0
+#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#255#255#255#0#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0
,#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#255#255#255#0#255#255
,#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0
+#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#255#255#255#0#255#255
+#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0
@ -3840,8 +3841,8 @@ LazarusResources.Add('TMainForm','FORMDATA',[
+#0#21#21#21#255#255#255#255#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0
+#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#255#255#255#255#0#0#0
+#255#255#255#255#255#0#0#0#255#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#21#21#21#255#255#255#255#255#255#255#255#255#255#255#255#255#255
,#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
,#255#255#0#21#21#21#255#255#255#255#255#255#255#255#255#255#255#255#255#255
+#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255
+#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#255#0#0#0#255
+#255#255#255#255#0#0#0#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255
+#255#0#21#21#21#255#255#255#255#255#0#0#0#255#0#0#0#255#0#0#0#255#0#0#0#255#0
@ -3904,8 +3905,8 @@ LazarusResources.Add('TMainForm','FORMDATA',[
+#128#255#0#0#0#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#0#0#0#255#128#128#128#255#0#0#0#255#255#255#255#0#255#255#255
+#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255
+#255#255#0#255#255#255#0#0#0#0#255#128#128#128#255#0#0#0#255#255#255#255#0#0
,#0#0#255#0#0#0#255#0#0#0#255#255#255#255#0#0#0#0#255#128#128#128#255#0#0#0
,#255#255#0#255#255#255#0#0#0#0#255#128#128#128#255#0#0#0#255#255#255#255#0#0
+#0#0#255#0#0#0#255#0#0#0#255#255#255#255#0#0#0#0#255#128#128#128#255#0#0#0
+#255#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0
+#255#255#255#0#255#255#255#0#255#255#255#0#255#255#255#0#0#0#0#255#128#128
+#128#255#0#0#0#255',,,'#255#128#128#128#255#128#128#128#255#128#128#128#255#0
@ -3968,8 +3969,8 @@ LazarusResources.Add('TMainForm','FORMDATA',[
+#250'"#\'#252#2#2#10#246#0#0#0'0'#255#255#255#0#255#255#255#0#255#255#255#0#0
+#0#2'1'#1#1#7#250'>?'#139#255'aa'#230#255'pp'#230#255#29#30'D'#248#3#4#16#218
+#0#0#0#12#255#255#255#0#255#255#255#0#0#0#0#13#3#4#16#220'!"J'#249'ss'#232
+#255'dd'#230#255'AA'#141#255#1#2#9#248#0#0#0'*'#255#255#255#0#0#0#2'+'#1#2#10
,#248';;'#139#255'``'#229#255']]'#230#255'dd'#232#255'||'#232#255' !D'#248#3#4
,#255'dd'#230#255'AA'#141#255#1#2#9#248#0#0#0'*'#255#255#255#0#0#0#2'+'#1#2#10
+#248';;'#139#255'``'#229#255']]'#230#255'dd'#232#255'||'#232#255' !D'#248#3#4
+#17#216#0#0#0#12#0#0#0#13#4#5#17#219'"#F'#249'~~'#234#255'gg'#233#255'``'#230
+#255'cc'#229#255'=>'#142#254#2#3#13#241#0#0#0#28#1#3#23#197'!"f'#254'WW'#227
+#255'VV'#228#255']]'#230#255'dd'#232#255'll'#234#255'~~'#234#255' !D'#248#3#4
@ -4032,8 +4033,8 @@ LazarusResources.Add('TMainForm','FORMDATA',[
+'ngs'#1#6#13'ColorA=000000'#6#13'ColorB=000080'#6#13'ColorC=008000'#6#13'Col'
+'orD=008080'#6#13'ColorE=800000'#6#13'ColorF=800080'#6#13'ColorG=808000'#6#13
+'ColorH=808080'#6#13'ColorI=C0C0C0'#6#13'ColorJ=0000FF'#6#13'ColorK=00FF00'#6
+#13'ColorL=00FFFF'#6#13'ColorM=FF0000'#6#13'ColorN=FF00FF'#6#13'ColorO=FFFF0'
,'0'#6#13'ColorP=FFFFFF'#6#13'ColorQ=C0DCC0'#6#13'ColorR=F0CAA6'#6#13'ColorS='
,#13'ColorL=00FFFF'#6#13'ColorM=FF0000'#6#13'ColorN=FF00FF'#6#13'ColorO=FFFF0'
+'0'#6#13'ColorP=FFFFFF'#6#13'ColorQ=C0DCC0'#6#13'ColorR=F0CAA6'#6#13'ColorS='
+'F0FBFF'#6#13'ColorT=A4A0A0'#0#4'left'#3#186#0#3'top'#2'Z'#0#0#18'TSavePictu'
+'reDialog'#17'SavePictureDialog'#5'Title'#6#12'Save file as'#10'DefaultExt'#6
+#4'.bmp'#6'Filter'#6#130'Graphic (*.png; *.xpm; *.bmp)|*.png; *.xpm; *.bmp|P'

View File

@ -37,6 +37,7 @@ type
procedure Clear; virtual;
procedure ClearWhite; virtual;
procedure Invert; virtual;
procedure Grayscale; virtual;
procedure FlipHorz; virtual;
procedure FlipVert; virtual;
procedure Rotate90; virtual;
@ -58,6 +59,7 @@ function RotateBitmap(Bitmap: TCustomRGBBitmapCore; Angle: integer;
BackColor: TColor): TCustomRGBBitmapCore;
function BitmapFlip(const Vertical: boolean; const Horizontal: boolean;
var BitmapIn: TCustomRGBBitmapCore; out BitmapOut: TCustomRGBBitmapCore): boolean;
procedure InvertBitmap(aBitmap: TCustomRGBBitmapCore);
implementation
@ -388,6 +390,50 @@ begin
end;
end;
procedure InvertBitmap(aBitmap: TCustomRGBBitmapCore);
var
LNew: TRGBTriple;
LMinusRatio: real;
LScan: PRGBTripleArray;
i, j: integer;
begin
aBitmap.OpenScanLine;
for i := 0 to ABitmap.Height - 1 do
begin
LScan := ABitmap.Scanline[i];
for j := 0 to ABitmap.Width - 1 do
begin
LNew := LScan^[j];
LScan^[j].rgbtBlue := not LScan^[j].rgbtBlue;
LScan^[j].rgbtGreen := not LScan^[j].rgbtGreen;
LScan^[j].rgbtRed := not LScan^[j].rgbtRed;
end;
end;
ABitmap.CloseScanLine;
end;
procedure ConvertBitmapToGrayScale(const Bitmap: TCustomRGBBitmapCore);
var
X: integer;
Y: integer;
P: PRGBTripleArray;
Gray: byte;
begin
Bitmap.OpenScanLine;
for Y := 0 to (Bitmap.Height - 1) do
begin
P := Bitmap.ScanLine[Y];
for X := 0 to (Bitmap.Width - 1) do
begin
Gray := Round(0.30 * P^[X].rgbtBlue + 0.59 * P^[X].rgbtGreen + 0.11 * P^[X].rgbtRed);
P^[X].rgbtRed := Gray;
P^[X].rgbtGreen := Gray;
P^[X].rgbtBlue := Gray;
end;
end;
Bitmap.CloseScanLine;
end;
constructor TCustomRGBBitmapCore.Create;
begin
inherited;
@ -487,8 +533,30 @@ begin
end;
procedure TCustomRGBBitmapCore.Invert;
var
tmp: TCustomRGBBitmapCore;
begin
tmp := TCustomRGBBitmapCore.Create;
tmp.Width := Width;
tmp.Height := Height;
tmp.Canvas.Draw(0, 0, Self);
InvertBitmap(Tmp);
Canvas.Draw(0, 0, tmp);
tmp.Free;
end;
procedure TCustomRGBBitmapCore.Grayscale;
var
tmp: TCustomRGBBitmapCore;
begin
tmp := TCustomRGBBitmapCore.Create;
tmp.Width := Width;
tmp.Height := Height;
tmp.Canvas.Draw(0, 0, Self);
ConvertBitmapToGrayScale(Tmp);
Canvas.Draw(0, 0, tmp);
tmp.Free;
end;
procedure TCustomRGBBitmapCore.FlipHorz;