import
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
program MainDemo;
|
||||
|
||||
uses
|
||||
Forms,
|
||||
MainForm in 'MainForm.pas' {fwbMainForm};
|
||||
|
||||
{$R *.res}
|
||||
|
||||
begin
|
||||
Application.Initialize;
|
||||
Application.CreateForm(TfwbMainForm, fwbMainForm);
|
||||
Application.Run;
|
||||
end.
|
||||
Binary file not shown.
@@ -0,0 +1,607 @@
|
||||
object fwbMainForm: TfwbMainForm
|
||||
Left = 205
|
||||
Top = 206
|
||||
Width = 696
|
||||
Height = 480
|
||||
Caption = 'FreeWinBitmap - MainDemo'
|
||||
Color = clCaptionText
|
||||
Font.Charset = DEFAULT_CHARSET
|
||||
Font.Color = clWindowText
|
||||
Font.Height = -11
|
||||
Font.Name = 'Tahoma'
|
||||
Font.Style = []
|
||||
Menu = MainMenu
|
||||
OldCreateOrder = False
|
||||
ShowHint = True
|
||||
OnCreate = FormCreate
|
||||
OnDestroy = FormDestroy
|
||||
OnPaint = FormPaint
|
||||
OnResize = FormResize
|
||||
PixelsPerInch = 96
|
||||
TextHeight = 13
|
||||
object StatusBar: TStatusBar
|
||||
Left = 0
|
||||
Top = 411
|
||||
Width = 688
|
||||
Height = 23
|
||||
Panels = <
|
||||
item
|
||||
Alignment = taCenter
|
||||
Width = 120
|
||||
end
|
||||
item
|
||||
Alignment = taCenter
|
||||
Width = 80
|
||||
end
|
||||
item
|
||||
Width = 50
|
||||
end>
|
||||
end
|
||||
object tbTools: TToolBar
|
||||
Left = 0
|
||||
Top = 0
|
||||
Width = 688
|
||||
Height = 29
|
||||
Caption = 'ToolBar'
|
||||
Color = clBtnFace
|
||||
EdgeBorders = [ebTop, ebBottom]
|
||||
Flat = True
|
||||
Images = ImageList1
|
||||
ParentColor = False
|
||||
TabOrder = 1
|
||||
object ToolButton1: TToolButton
|
||||
Left = 0
|
||||
Top = 0
|
||||
Width = 8
|
||||
Caption = 'ToolButton1'
|
||||
ImageIndex = 1
|
||||
Style = tbsSeparator
|
||||
end
|
||||
object btnOpen: TToolButton
|
||||
Left = 8
|
||||
Top = 0
|
||||
Hint = 'Open image file...'
|
||||
Caption = 'Open...'
|
||||
ImageIndex = 0
|
||||
OnClick = mnuFileOpenClick
|
||||
end
|
||||
object ToolButton4: TToolButton
|
||||
Left = 31
|
||||
Top = 0
|
||||
Width = 8
|
||||
Caption = 'ToolButton4'
|
||||
ImageIndex = 4
|
||||
Style = tbsSeparator
|
||||
end
|
||||
object btnCopy: TToolButton
|
||||
Left = 39
|
||||
Top = 0
|
||||
Hint = 'Copy to clipboard'
|
||||
Caption = 'Copy'
|
||||
ImageIndex = 1
|
||||
OnClick = btnCopyClick
|
||||
end
|
||||
object btnPaste: TToolButton
|
||||
Left = 62
|
||||
Top = 0
|
||||
Hint = 'Paste from from clipboard'
|
||||
Caption = 'Paste'
|
||||
ImageIndex = 2
|
||||
OnClick = btnPasteClick
|
||||
end
|
||||
object ToolButton3: TToolButton
|
||||
Left = 85
|
||||
Top = 0
|
||||
Width = 8
|
||||
Caption = 'ToolButton3'
|
||||
ImageIndex = 4
|
||||
Style = tbsSeparator
|
||||
end
|
||||
object btnClear: TToolButton
|
||||
Left = 93
|
||||
Top = 0
|
||||
Caption = 'Clear'
|
||||
ImageIndex = 3
|
||||
OnClick = btnClearClick
|
||||
end
|
||||
end
|
||||
object MainMenu: TMainMenu
|
||||
Left = 120
|
||||
Top = 48
|
||||
object mnuFile: TMenuItem
|
||||
Caption = '&File'
|
||||
object mnuFileOpen: TMenuItem
|
||||
Caption = '&Open'
|
||||
OnClick = mnuFileOpenClick
|
||||
end
|
||||
object mnuExit: TMenuItem
|
||||
Caption = 'E&xit'
|
||||
OnClick = mnuExitClick
|
||||
end
|
||||
end
|
||||
object mnuImage: TMenuItem
|
||||
Caption = 'Image'
|
||||
object mnuImageFlip: TMenuItem
|
||||
Caption = 'Flip'
|
||||
object mnuFlipHorz: TMenuItem
|
||||
Caption = 'Horizontal'
|
||||
OnClick = mnuFlipHorzClick
|
||||
end
|
||||
object mnuFlipVert: TMenuItem
|
||||
Caption = 'Vertical'
|
||||
OnClick = mnuFlipHorzClick
|
||||
end
|
||||
end
|
||||
object mnuConvert: TMenuItem
|
||||
Caption = 'Convert'
|
||||
object mnuTo4Bits: TMenuItem
|
||||
Caption = 'To 4 Bits'
|
||||
OnClick = mnuFlipHorzClick
|
||||
end
|
||||
object mnuTo8Bits: TMenuItem
|
||||
Caption = 'To 8 Bits'
|
||||
OnClick = mnuFlipHorzClick
|
||||
end
|
||||
object mnuTo16Bits555: TMenuItem
|
||||
Caption = 'To 16 Bits (555)'
|
||||
OnClick = mnuFlipHorzClick
|
||||
end
|
||||
object mnuTo16Bits565: TMenuItem
|
||||
Caption = 'To 16 Bits (565)'
|
||||
OnClick = mnuFlipHorzClick
|
||||
end
|
||||
object mnuTo24Bits: TMenuItem
|
||||
Caption = 'To 24 Bits'
|
||||
OnClick = mnuFlipHorzClick
|
||||
end
|
||||
object mnuTo32Bits: TMenuItem
|
||||
Caption = 'To 32 Bits'
|
||||
OnClick = mnuFlipHorzClick
|
||||
end
|
||||
object mnuDither: TMenuItem
|
||||
Caption = 'Dither'
|
||||
OnClick = mnuFlipHorzClick
|
||||
end
|
||||
object mnuQuantize: TMenuItem
|
||||
Caption = 'Quantize'
|
||||
OnClick = mnuFlipHorzClick
|
||||
end
|
||||
object mnuGrayScale: TMenuItem
|
||||
Caption = 'GrayScale'
|
||||
OnClick = mnuFlipHorzClick
|
||||
end
|
||||
end
|
||||
object mnuRotate: TMenuItem
|
||||
Caption = 'Rotate'
|
||||
object mnuClockwise: TMenuItem
|
||||
Caption = 'Clockwise'
|
||||
OnClick = mnuFlipHorzClick
|
||||
end
|
||||
object mnuAntiClockwise: TMenuItem
|
||||
Caption = 'AntiClockwise'
|
||||
OnClick = mnuFlipHorzClick
|
||||
end
|
||||
end
|
||||
object mnuInvert: TMenuItem
|
||||
Caption = 'Invert'
|
||||
OnClick = mnuFlipHorzClick
|
||||
end
|
||||
object mnuClear: TMenuItem
|
||||
Caption = 'Clear'
|
||||
OnClick = mnuFlipHorzClick
|
||||
end
|
||||
end
|
||||
end
|
||||
object OD: TOpenDialog
|
||||
Title = 'Open file ...'
|
||||
Left = 152
|
||||
Top = 48
|
||||
end
|
||||
object ImageList1: TImageList
|
||||
Left = 184
|
||||
Top = 48
|
||||
Bitmap = {
|
||||
494C010104000900040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
|
||||
0000000000003600000028000000400000003000000001002000000000000030
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000007088900060809000607880005070
|
||||
8000506070004058600040485000303840002030300020203000101820001010
|
||||
1000101020000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000080685000203040002030400020304000203040002030
|
||||
4000203040002030400020304000203040000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000DFE2F700EFF0FB0000000000000000007088900090A0B00070B0D0000090
|
||||
D0000090D0000090D0000090C0001088C0001080B0001080B0002078A0002070
|
||||
900020486000B9BEBE0000000000000000000000000000000000000000000000
|
||||
00000000000000000000C0704000B0583000B0583000A0502000A05020009048
|
||||
2000904820009040200080402000000000007086900060809000506070004050
|
||||
6000304050002030400090706000F0E0D000B0A09000B0A09000B0A09000B0A0
|
||||
9000B0A09000B0A09000B0A0900020304000000000000000000000000000EFF1
|
||||
FF001F3BF100EFF1FF000000000000000000000000000000000000000000CFD3
|
||||
F3001F2DB900CFD2F30000000000000000008088900080C0D00090A8B00080E0
|
||||
FF0060D0FF0050C8FF0050C8FF0040C0F00030B0F00030A8F00020A0E0001090
|
||||
D00020688000656A700000000000000000000000000000000000000000000000
|
||||
00000000000000000000C0785000FFF8F000D0B0A000D0B0A000D0B0A000C0B0
|
||||
A000C0A8A000C0A8900090402000000000007080900020B8F0000090D0000090
|
||||
D0000090D0000090D00090786000F0E8E000F0D8D000E0D0C000E0C8C000D0C0
|
||||
B000D0B8B000D0B8B000B0A09000203040000000000000000000F0F2FF00576F
|
||||
FF001030FF001E34FF00EFF1FF00000000000000000000000000DFE2F7003F51
|
||||
CF000018C0000F1EB400DFE2F700000000008090A00080D0F00090A8B00090C0
|
||||
D00070D8FF0060D0FF0060D0FF0050C8FF0050C0FF0040B8F00030B0F00030A8
|
||||
F0001088D00020486000E1E4E500000000000000000000000000000000000000
|
||||
00000000000000000000D0886000FFFFFF00E0906000D0805000D0805000D080
|
||||
5000D0805000C0A8A00090482000000000007088900070C8F00010B8F00010B0
|
||||
F00000A8E0000098D000A0807000F0F0F000C0B0A000C0B0A000C0A8A000B0A0
|
||||
9000D0C0B000B0A09000B0A0900020304000000000000000000000000000F1F2
|
||||
FF002D52FF001030FF000028FF00CFD5FF0000000000CFD3F3001F34C7000018
|
||||
D0000F25C300BFC5EF0000000000000000008090A00080D8F00080C8E00090A8
|
||||
B00080E0FF0070D0FF0060D8FF0060D0FF0060D0FF0050C8FF0040C0F00040B8
|
||||
F00030B0F000206880007897A50000000000B0A0900060483000604830006048
|
||||
30006048300060483000D0907000FFFFFF00FFFFFF00FFF0F000F0E0D000F0D0
|
||||
C000F0C0B000C0B0A00090482000000000008088900070D0F00030C0F00010B8
|
||||
F00000A8F00000A0E000A0888000FFF8FF00F0F0F000F0E8E000F0D8D000E0D0
|
||||
C000705850006050400050484000404040000000000000000000000000000000
|
||||
0000F1F2FF002D52FF001030FF000F2DFF00CFD3F6001F34D5000020E0000F25
|
||||
D200DFE2F7000000000000000000000000008098A00090E0F00090E0FF0090A8
|
||||
B00090B8C00070D8FF0060D8FF0060D8FF0060D8FF0060D0FF0050D0FF0050C8
|
||||
FF0040B8F00030A0E0004B697800DEE1E400B0A09000FFF0F000F0E0D000E0D8
|
||||
D000E0D0C000E0C8C000E0A08000FFFFFF00F0A88000E0987000E0906000D080
|
||||
5000D0805000D0B0A000A0482000000000008090A00080D8F00040C8F00030C0
|
||||
F00010B8F00000A0E000B0908000FFFFFF00C0B0A000C0B0A000C0A8A000F0E0
|
||||
D00080605000D0C8C00060504000000000000000000000000000000000000000
|
||||
000000000000E3E6FF005669FF001038FF000020F0000F2DF0002F42D800DFE2
|
||||
F700000000000000000000000000000000008098A00090E0F000A0E8FF0080C8
|
||||
E00090A8B00080E0FF0080E0FF0080E0FF0080E0FF0080E0FF0080E0FF0080E0
|
||||
FF0070D8FF0070D8FF0050A8D000919BA500B0A09000FFF8F000E0B08000E0A0
|
||||
7000E0A07000D0987000E0A89000FFFFFF00FFFFFF00FFFFFF00FFF8F000F0E8
|
||||
E000F0D0C000D0B0A000A0502000000000008098A00090E0F00060D8F00050C8
|
||||
F00030C0F00010B0F000B0989000FFFFFF00FFFFFF00FFF8FF00F0F0F000F0E8
|
||||
E000806850008060500000000000000000000000000000000000000000000000
|
||||
00000000000000000000C3CAFF002048FF001030FF000F2DF000CFD3F6000000
|
||||
00000000000000000000000000000000000090A0A000A0E8F000A0E8FF00A0E8
|
||||
FF0090B0C00090B0C00090A8B00090A8B00080A0B00080A0B0008098A0008098
|
||||
A0008090A0008090A0008088900070889000C0A89000FFFFFF00FFF8F000F0F0
|
||||
F000F0E8E000F0E0D000E0B8A000FFFFFF00FFB09000FFB09000F0D8D000E090
|
||||
6000B0583000B0583000A0502000000000008098A000A0E8F00080E0F00070D8
|
||||
F00050D0F00010B0F000B0A09000B0989000B0908000A0888000A08070009078
|
||||
6000907060000000000000000000000000000000000000000000000000000000
|
||||
000000000000CFD7FF004060FF003050FF002D4BFF001038FF000020F000DFE3
|
||||
FD000000000000000000000000000000000090A0B000A0E8F000A0F0FF00A0E8
|
||||
FF00A0E8FF0080D8FF0060D8FF0060D8FF0060D8FF0060D8FF0060D8FF0060D8
|
||||
FF0070889000000000000000000000000000C0A8A000FFFFFF00FFC8A000F0B8
|
||||
9000E0B08000E0A07000F0C0A000FFFFFF00FFFFFF00FFFFFF00FFFFFF00F098
|
||||
7000F0C8B000B0583000EBD5CB000000000090A0A000B0F0FF00A0E8FF0090E0
|
||||
F00070D0F00010A0D00010A0D00010A0D0001098D0000090D0000090D0000090
|
||||
D000303840000000000000000000000000000000000000000000000000000000
|
||||
0000DBE1FF004060FF004058FF004B70FF00CFD5FF004B69FF002040FF000020
|
||||
F000CFD5FC0000000000000000000000000090A0B000A0F0F000B0F0F000A0F0
|
||||
FF00A0E8FF00A0E8FF0070D8FF0090A0A0008098A0008098A0008090A0008090
|
||||
900070889000000000000000000000000000C0B0A000FFFFFF00FFFFFF00FFF8
|
||||
FF00FFF0F000F0E8E000F0C8B000FFFFFF00FFFFFF00FFFFFF00FFFFFF00F0A8
|
||||
8000C0683000EFD9CB00000000000000000090A0B000B0F0FF00A0F0FF006080
|
||||
9000607080005070800050687000506870005060700040587000207090000090
|
||||
D00040486000000000000000000000000000000000000000000000000000E7EB
|
||||
FF005070FF005078FF00708AFF00E7EBFF0000000000DBDFFF004B69FF003048
|
||||
FF000020F000CFD5FC00000000000000000090A8B000A0D0E000B0F0F000B0F0
|
||||
F000A0F0FF00A0E8FF0090A0B000B3C7CB000000000000000000000000000000
|
||||
000000000000906850009068500090685000D0B8B000FFFFFF00FFD8C000FFD0
|
||||
B000F0E0D000B0A09000F0C8B000F0C0B000F0C0B000F0B8A000F0B09000F0B0
|
||||
9000F7E3D70000000000000000000000000090A8B000B0F0FF00B0F0FF006088
|
||||
900090C8D00090E8F00080D8E00060C8E0005098B000405860002080A0000090
|
||||
D000505870000000000000000000000000000000000000000000F3F5FF006078
|
||||
FF006078FF00697FFF00F3F5FF00000000000000000000000000E7EAFF004B69
|
||||
FF003050FF000028FF00DFE3FD0000000000DCE3E60090A8B00090A8B00090A8
|
||||
B00090A8B00090A8B000AAB3B400000000000000000000000000000000000000
|
||||
000000000000E1D4D2009068500090685000D0C0B000FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00C0A89000D0C8C00090706000E1DCD80000000000000000000000
|
||||
00000000000000000000000000000000000090A8B000B0F0F000B0F0FF00A0F0
|
||||
F0007098A000A0F0F00060757C0080C8D000507080003060800060C0F00020B8
|
||||
F00050607000000000000000000000000000000000000000000000000000E7EB
|
||||
FF006987FF00F3F5FF000000000000000000000000000000000000000000E7EA
|
||||
FF005773FF00E1E5FF0000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000090786000B7A498000000
|
||||
0000F9F6F600A0908000E1D9D20090786000E0C0B000FFFFFF00FFFFFF00FFFF
|
||||
FF00FFFFFF00C0B0A000A0806000E1DCD8000000000000000000000000000000
|
||||
000000000000000000000000000000000000CED8DC0090A8B00090A8B00090A8
|
||||
B0006090A000A0E8F000A0E8F00090D8E0004068700070889000808890007088
|
||||
9000D7DADC000000000000000000000000000000000000000000000000000000
|
||||
0000F3F5FF000000000000000000000000000000000000000000000000000000
|
||||
0000E7EAFF000000000000000000000000000000000000000000000000000000
|
||||
00000000000000000000000000000000000000000000D1CFC900A0908000A088
|
||||
8000B0988000CFC7BF000000000000000000E0C0B000E0C0B000D0C0B000D0C0
|
||||
B000D0B8B000D0B0A000E6DEDC00000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
00000000000080B0C00080B0C00080A0B000DEE1E40000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
000000000000000000000000000000000000424D3E000000000000003E000000
|
||||
2800000040000000300000000100010000000000800100000000000000000000
|
||||
000000000000000000000000FFFFFF0000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
0000000000000000000000000000000000000000000000000000000000000000
|
||||
00000000000000000000000000000000FFFFFFFFFFFFFFFF0007FFFFFC00FFF3
|
||||
0003FC010000E3E30003FC010000C1C10001FC010000E083000100010000F007
|
||||
000000010001F80F000000010003FC1F000000010007F80F000700010007F007
|
||||
000700030007E08300F800070007C1C101F8007F0007E3E3FF9000FF0007F7F7
|
||||
FF8301FFF87FFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000000
|
||||
000000000000}
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,227 @@
|
||||
unit MainForm;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
|
||||
Dialogs, Menus, FreeBitmap, ComCtrls, ImgList, ToolWin;
|
||||
|
||||
type
|
||||
TfwbMainForm = class(TForm)
|
||||
MainMenu: TMainMenu;
|
||||
mnuFile: TMenuItem;
|
||||
mnuFileOpen: TMenuItem;
|
||||
mnuExit: TMenuItem;
|
||||
OD: TOpenDialog;
|
||||
StatusBar: TStatusBar;
|
||||
mnuImage: TMenuItem;
|
||||
mnuImageFlip: TMenuItem;
|
||||
mnuFlipHorz: TMenuItem;
|
||||
mnuFlipVert: TMenuItem;
|
||||
mnuConvert: TMenuItem;
|
||||
mnuTo8Bits: TMenuItem;
|
||||
mnuTo16Bits555: TMenuItem;
|
||||
mnuTo16Bits565: TMenuItem;
|
||||
mnuTo24Bits: TMenuItem;
|
||||
mnuTo32Bits: TMenuItem;
|
||||
mnuDither: TMenuItem;
|
||||
mnuQuantize: TMenuItem;
|
||||
mnuGrayScale: TMenuItem;
|
||||
mnuRotate: TMenuItem;
|
||||
mnuClockwise: TMenuItem;
|
||||
mnuAntiClockwise: TMenuItem;
|
||||
mnuInvert: TMenuItem;
|
||||
mnuClear: TMenuItem;
|
||||
mnuTo4Bits: TMenuItem;
|
||||
tbTools: TToolBar;
|
||||
btnCopy: TToolButton;
|
||||
ImageList1: TImageList;
|
||||
ToolButton1: TToolButton;
|
||||
btnPaste: TToolButton;
|
||||
btnClear: TToolButton;
|
||||
btnOpen: TToolButton;
|
||||
ToolButton3: TToolButton;
|
||||
ToolButton4: TToolButton;
|
||||
procedure FormDestroy(Sender: TObject);
|
||||
procedure FormPaint(Sender: TObject);
|
||||
procedure FormCreate(Sender: TObject);
|
||||
procedure mnuExitClick(Sender: TObject);
|
||||
procedure mnuFileOpenClick(Sender: TObject);
|
||||
procedure FormResize(Sender: TObject);
|
||||
procedure mnuFlipHorzClick(Sender: TObject);
|
||||
procedure btnCopyClick(Sender: TObject);
|
||||
procedure btnClearClick(Sender: TObject);
|
||||
procedure btnPasteClick(Sender: TObject);
|
||||
private
|
||||
FBitmap: TFreeWinBitmap;
|
||||
procedure WMEraseBkgnd(var Message: TMessage); message WM_ERASEBKGND;
|
||||
public
|
||||
{ Public declarations }
|
||||
end;
|
||||
|
||||
var
|
||||
fwbMainForm: TfwbMainForm;
|
||||
|
||||
implementation
|
||||
|
||||
{$R *.dfm}
|
||||
|
||||
uses
|
||||
FreeUtils, FreeImage, Math;
|
||||
|
||||
procedure TfwbMainForm.FormDestroy(Sender: TObject);
|
||||
begin
|
||||
if Assigned(FBitmap) then
|
||||
FBitmap.Free;
|
||||
end;
|
||||
|
||||
procedure TfwbMainForm.FormPaint(Sender: TObject);
|
||||
var
|
||||
dx, dy, w, h: Integer;
|
||||
r1, r2: Double;
|
||||
R: TRect;
|
||||
begin
|
||||
if FBitmap.IsValid then // draw the bitmap
|
||||
begin
|
||||
// determine paint rect
|
||||
r1 := FBitmap.GetWidth / FBitmap.GetHeight;
|
||||
r2 := ClientWidth / ClientHeight;
|
||||
if r1 > r2 then // fit by width
|
||||
begin
|
||||
w := ClientWidth;
|
||||
h := Floor(w / r1);
|
||||
dx := 0;
|
||||
dy := (ClientHeight - h) div 2;
|
||||
end
|
||||
else // fit by height
|
||||
begin
|
||||
h := ClientHeight;
|
||||
w := Floor(h * r1);
|
||||
dy := 0;
|
||||
dx := (ClientWidth - w) div 2;
|
||||
end;
|
||||
with ClientRect do
|
||||
R := Bounds(Left + dx, Top + dy, w, h);
|
||||
FBitmap.Draw(Canvas.Handle, R);
|
||||
|
||||
// erase area around the image
|
||||
Canvas.Brush.Color := Color;
|
||||
if dx > 0 then
|
||||
begin
|
||||
with ClientRect do
|
||||
R := Bounds(Left, Top, dx, ClientHeight);
|
||||
Canvas.FillRect(R);
|
||||
with ClientRect do
|
||||
R := Bounds(Right - dx, Top, dx, ClientHeight);
|
||||
Canvas.FillRect(R);
|
||||
end else
|
||||
if dy > 0 then
|
||||
begin
|
||||
with ClientRect do
|
||||
R := Bounds(Left, Top, ClientWidth, dy);
|
||||
Canvas.FillRect(R);
|
||||
with ClientRect do
|
||||
R := Bounds(Left, Bottom - dy, ClientWidth, dy);
|
||||
Canvas.FillRect(R);
|
||||
end
|
||||
end
|
||||
else // clear
|
||||
begin
|
||||
Canvas.Brush.Color := Color;
|
||||
Canvas.FillRect(ClientRect);
|
||||
end
|
||||
end;
|
||||
|
||||
procedure TfwbMainForm.FormCreate(Sender: TObject);
|
||||
begin
|
||||
FBitmap := TFreeWinBitmap.Create;
|
||||
|
||||
mnuImage.Enabled := FBitmap.IsValid;
|
||||
OD.Filter := FIU_GetAllFilters;
|
||||
end;
|
||||
|
||||
procedure TfwbMainForm.mnuExitClick(Sender: TObject);
|
||||
begin
|
||||
Close;
|
||||
end;
|
||||
|
||||
procedure TfwbMainForm.mnuFileOpenClick(Sender: TObject);
|
||||
var
|
||||
t: Cardinal;
|
||||
begin
|
||||
if OD.Execute then
|
||||
begin
|
||||
t := GetTickCount;
|
||||
FBitmap.Load(OD.FileName);
|
||||
t := GetTickCount - t;
|
||||
mnuImage.Enabled := FBitmap.IsValid;
|
||||
StatusBar.Panels[0].Text := 'Loaded in ' + IntToStr(t) + ' msec.';
|
||||
StatusBar.Panels[1].Text := Format('%dx%d', [FBitmap.GetWidth, FBitmap.GetHeight]);
|
||||
Invalidate;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfwbMainForm.FormResize(Sender: TObject);
|
||||
begin
|
||||
Invalidate
|
||||
end;
|
||||
|
||||
procedure TfwbMainForm.WMEraseBkgnd(var Message: TMessage);
|
||||
begin
|
||||
Message.Result := 1;
|
||||
end;
|
||||
|
||||
procedure TfwbMainForm.mnuFlipHorzClick(Sender: TObject);
|
||||
begin
|
||||
with FBitmap do
|
||||
if Sender = mnuFlipHorz then
|
||||
FLipHorizontal else
|
||||
if Sender = mnuFlipVert then
|
||||
FlipVertical else
|
||||
if Sender = mnuTo4Bits then
|
||||
ConvertTo4Bits else
|
||||
if Sender = mnuTo8Bits then
|
||||
ConvertTo8Bits else
|
||||
if Sender = mnuTo16Bits555 then
|
||||
ConvertTo16Bits555 else
|
||||
if Sender = mnuTo16Bits565 then
|
||||
ConvertTo16Bits565 else
|
||||
if Sender = mnuTo24Bits then
|
||||
ConvertTo24Bits else
|
||||
if Sender = mnuTo32Bits then
|
||||
ConvertTo32Bits else
|
||||
if Sender = mnuDither then
|
||||
Dither(FID_FS) else
|
||||
if Sender = mnuQuantize then
|
||||
ColorQuantize(FIQ_WUQUANT) else
|
||||
if Sender = mnuGrayScale then
|
||||
ConvertToGrayscale else
|
||||
if Sender = mnuClockwise then
|
||||
Rotate(-90) else
|
||||
if Sender = mnuAntiClockwise then
|
||||
Rotate(90) else
|
||||
if Sender = mnuInvert then
|
||||
Invert else
|
||||
if Sender = mnuClear then
|
||||
Clear;
|
||||
Invalidate;
|
||||
end;
|
||||
|
||||
procedure TfwbMainForm.btnCopyClick(Sender: TObject);
|
||||
begin
|
||||
if FBitmap.IsValid then FBitmap.CopyToClipBoard(Handle);
|
||||
end;
|
||||
|
||||
procedure TfwbMainForm.btnClearClick(Sender: TObject);
|
||||
begin
|
||||
FBitmap.Clear;
|
||||
Invalidate;
|
||||
end;
|
||||
|
||||
procedure TfwbMainForm.btnPasteClick(Sender: TObject);
|
||||
begin
|
||||
FBitmap.PasteFromClipBoard;
|
||||
Invalidate;
|
||||
end;
|
||||
|
||||
end.
|
||||
Reference in New Issue
Block a user