MainUnit.lfm 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493
  1. object MainForm: TMainForm
  2. Left = 254
  3. Height = 623
  4. Top = 244
  5. Width = 623
  6. Caption = 'Image Warping Example'
  7. ClientHeight = 604
  8. ClientWidth = 623
  9. Color = clBtnFace
  10. Font.Color = clWindowText
  11. Font.Height = -11
  12. Font.Name = 'Tahoma'
  13. Menu = MainMenu
  14. OnClose = FormClose
  15. OnCreate = FormCreate
  16. Position = poScreenCenter
  17. LCLVersion = '1.0.1.4'
  18. object PnlMain: TPanel
  19. Left = 482
  20. Height = 604
  21. Top = 0
  22. Width = 141
  23. Align = alRight
  24. BevelOuter = bvNone
  25. BevelWidth = 2
  26. Caption = 'PnlMain'
  27. ClientHeight = 604
  28. ClientWidth = 141
  29. TabOrder = 0
  30. object PnlGeneral: TPanel
  31. Left = 0
  32. Height = 73
  33. Top = 0
  34. Width = 141
  35. Align = alTop
  36. ClientHeight = 73
  37. ClientWidth = 141
  38. TabOrder = 0
  39. object LblGeneral: TLabel
  40. Left = 1
  41. Height = 16
  42. Top = 1
  43. Width = 139
  44. Align = alTop
  45. Alignment = taCenter
  46. AutoSize = False
  47. Caption = 'General'
  48. Color = clGray
  49. Font.Color = clWhite
  50. Font.Height = -11
  51. Font.Name = 'Tahoma'
  52. Font.Style = [fsBold]
  53. Layout = tlCenter
  54. ParentColor = False
  55. ParentFont = False
  56. Transparent = False
  57. end
  58. object LblRemapScale: TLabel
  59. Left = 8
  60. Height = 14
  61. Top = 24
  62. Width = 66
  63. Caption = 'Remap Scale:'
  64. ParentColor = False
  65. end
  66. object ScaleBar: TGaugeBar
  67. Left = 8
  68. Height = 15
  69. Top = 40
  70. Width = 121
  71. Color = clScrollBar
  72. Backgnd = bgPattern
  73. LargeChange = 10
  74. Max = 300
  75. Min = -300
  76. ShowHandleGrip = False
  77. Style = rbsMac
  78. Position = 100
  79. OnMouseUp = ScaleBarMouseUp
  80. end
  81. end
  82. object PnlBrush: TPanel
  83. Left = 0
  84. Height = 304
  85. Top = 233
  86. Width = 141
  87. Align = alTop
  88. ClientHeight = 304
  89. ClientWidth = 141
  90. TabOrder = 1
  91. object LblBrush: TLabel
  92. Left = 1
  93. Height = 16
  94. Top = 1
  95. Width = 139
  96. Align = alTop
  97. Alignment = taCenter
  98. AutoSize = False
  99. Caption = 'Brush'
  100. Color = clGray
  101. Font.Color = clWhite
  102. Font.Height = -11
  103. Font.Name = 'Tahoma'
  104. Font.Style = [fsBold]
  105. Layout = tlCenter
  106. ParentColor = False
  107. ParentFont = False
  108. Transparent = False
  109. end
  110. object LblBrushFeather: TLabel
  111. Left = 8
  112. Height = 14
  113. Top = 88
  114. Width = 43
  115. Caption = 'Feather:'
  116. ParentColor = False
  117. end
  118. object LblBrushPressure: TLabel
  119. Left = 8
  120. Height = 14
  121. Top = 56
  122. Width = 47
  123. Caption = 'Pressure:'
  124. ParentColor = False
  125. end
  126. object LblBrushPinch: TLabel
  127. Left = 8
  128. Height = 14
  129. Top = 120
  130. Width = 30
  131. Caption = 'Pinch:'
  132. ParentColor = False
  133. end
  134. object LblBrushSize: TLabel
  135. Left = 8
  136. Height = 14
  137. Top = 24
  138. Width = 24
  139. Caption = 'Size:'
  140. ParentColor = False
  141. end
  142. object LblBrushMesh: TLabel
  143. Left = 8
  144. Height = 14
  145. Top = 160
  146. Width = 60
  147. Caption = 'Brush Mesh:'
  148. ParentColor = False
  149. end
  150. object FeatherBar: TGaugeBar
  151. Left = 8
  152. Height = 15
  153. Top = 104
  154. Width = 121
  155. Color = clScrollBar
  156. Backgnd = bgPattern
  157. LargeChange = 10
  158. ShowHandleGrip = False
  159. Style = rbsMac
  160. Position = 12
  161. OnChange = PressureBarChange
  162. end
  163. object PressureBar: TGaugeBar
  164. Left = 8
  165. Height = 15
  166. Top = 72
  167. Width = 121
  168. Color = clScrollBar
  169. Backgnd = bgPattern
  170. LargeChange = 10
  171. ShowHandleGrip = False
  172. Style = rbsMac
  173. Position = 50
  174. OnChange = PressureBarChange
  175. end
  176. object PinchBar: TGaugeBar
  177. Left = 8
  178. Height = 15
  179. Top = 136
  180. Width = 121
  181. Color = clScrollBar
  182. Backgnd = bgPattern
  183. LargeChange = 10
  184. Min = -100
  185. ShowHandleGrip = False
  186. Style = rbsMac
  187. Position = 0
  188. OnChange = PressureBarChange
  189. end
  190. object SizeBar: TGaugeBar
  191. Left = 8
  192. Height = 15
  193. Top = 40
  194. Width = 121
  195. Color = clScrollBar
  196. Backgnd = bgPattern
  197. LargeChange = 10
  198. Max = 500
  199. Min = 5
  200. ShowHandleGrip = False
  201. Style = rbsMac
  202. Position = 100
  203. OnChange = SizeBarChange
  204. OnMouseUp = GaugeMouseUp
  205. end
  206. object BrushMeshPreview: TPaintBox32
  207. Left = 8
  208. Height = 121
  209. Top = 176
  210. Width = 121
  211. TabOrder = 4
  212. OnResize = BrushMeshPreviewResize
  213. end
  214. end
  215. object ToolPanel: TPanel
  216. Left = 0
  217. Height = 160
  218. Top = 73
  219. Width = 141
  220. Align = alTop
  221. ClientHeight = 160
  222. ClientWidth = 141
  223. TabOrder = 2
  224. object LblWaroTool: TLabel
  225. Left = 1
  226. Height = 16
  227. Top = 1
  228. Width = 139
  229. Align = alTop
  230. Alignment = taCenter
  231. AutoSize = False
  232. Caption = 'Warp Tool'
  233. Color = clGray
  234. Font.Color = clWhite
  235. Font.Height = -11
  236. Font.Name = 'Tahoma'
  237. Font.Style = [fsBold]
  238. Layout = tlCenter
  239. ParentColor = False
  240. ParentFont = False
  241. Transparent = False
  242. end
  243. object LblParam: TLabel
  244. Left = 8
  245. Height = 14
  246. Top = 88
  247. Width = 31
  248. Caption = 'Param'
  249. Enabled = False
  250. ParentColor = False
  251. end
  252. object RateLabel: TLabel
  253. Left = 8
  254. Height = 14
  255. Top = 120
  256. Width = 28
  257. Caption = 'Rate:'
  258. Enabled = False
  259. ParentColor = False
  260. end
  261. object ToolGroup: TRadioGroup
  262. Left = 8
  263. Height = 57
  264. Top = 24
  265. Width = 121
  266. AutoFill = True
  267. ChildSizing.LeftRightSpacing = 6
  268. ChildSizing.TopBottomSpacing = 6
  269. ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
  270. ChildSizing.EnlargeVertical = crsHomogenousChildResize
  271. ChildSizing.ShrinkHorizontal = crsScaleChilds
  272. ChildSizing.ShrinkVertical = crsScaleChilds
  273. ChildSizing.Layout = cclLeftToRightThenTopToBottom
  274. ChildSizing.ControlsPerLine = 2
  275. ClientHeight = 39
  276. ClientWidth = 117
  277. Columns = 2
  278. ItemIndex = 0
  279. Items.Strings = (
  280. 'Warp'
  281. 'Zoom'
  282. 'Twirl'
  283. 'Flower'
  284. )
  285. OnClick = ToolGroupClick
  286. TabOrder = 0
  287. end
  288. object ParamBar: TGaugeBar
  289. Left = 8
  290. Height = 15
  291. Top = 104
  292. Width = 121
  293. Color = clScrollBar
  294. Backgnd = bgPattern
  295. Enabled = False
  296. LargeChange = 10
  297. ShowHandleGrip = False
  298. Style = rbsMac
  299. Position = 20
  300. OnChange = PressureBarChange
  301. OnMouseUp = GaugeMouseUp
  302. end
  303. object RateBar: TGaugeBar
  304. Left = 8
  305. Height = 15
  306. Top = 136
  307. Width = 121
  308. Color = clScrollBar
  309. Backgnd = bgPattern
  310. Enabled = False
  311. LargeChange = 10
  312. Max = 399
  313. ShowHandleGrip = False
  314. Style = rbsMac
  315. Position = 350
  316. OnChange = RateBarChange
  317. OnMouseUp = GaugeMouseUp
  318. end
  319. end
  320. end
  321. object DstImg: TImgView32
  322. Left = 0
  323. Height = 604
  324. Top = 0
  325. Width = 482
  326. Align = alClient
  327. Bitmap.DrawMode = dmBlend
  328. Bitmap.ResamplerClassName = 'TNearestResampler'
  329. BitmapAlign = baCustom
  330. RepaintMode = rmOptimizer
  331. Scale = 1
  332. ScaleMode = smScale
  333. ScrollBars.Color = clScrollBar
  334. ScrollBars.ShowHandleGrip = True
  335. ScrollBars.Style = rbsDefault
  336. ScrollBars.Size = 16
  337. ScrollBars.Visibility = svAuto
  338. OverSize = 0
  339. TabOrder = 1
  340. OnMouseDown = DstImgMouseDown
  341. OnMouseMove = DstImgMouseMove
  342. OnMouseUp = DstImgMouseUp
  343. OnPaintStage = DstImgPaintStage
  344. end
  345. object OpenPictureDialog: TOpenPictureDialog
  346. left = 136
  347. top = 8
  348. end
  349. object UpdateTimer: TTimer
  350. Interval = 50
  351. OnTimer = UpdateTimerTimer
  352. left = 344
  353. top = 8
  354. end
  355. object OpenMeshDialog: TOpenDialog
  356. Filter = 'Photoshop Liquify Mesh (*.msh)|*.msh'
  357. Options = [ofHideReadOnly, ofFileMustExist, ofEnableSizing]
  358. left = 240
  359. top = 8
  360. end
  361. object SaveMeshDialog: TSaveDialog
  362. Filter = 'Photoshop Liquify Mesh (*.msh)|*.msh'
  363. Options = [ofOverwritePrompt, ofHideReadOnly, ofEnableSizing]
  364. left = 240
  365. top = 64
  366. end
  367. object SavePictureDialog: TSavePictureDialog
  368. DefaultExt = '.*.bmp'
  369. Filter = 'Bitmaps (*.bmp)|*.bmp'
  370. FilterIndex = 0
  371. Options = [ofOverwritePrompt, ofHideReadOnly, ofEnableSizing]
  372. left = 136
  373. top = 64
  374. end
  375. object MainMenu: TMainMenu
  376. left = 344
  377. top = 64
  378. object MnuFile: TMenuItem
  379. Caption = 'File'
  380. object MnuFileOpenImage: TMenuItem
  381. Caption = '&Open Image...'
  382. ShortCut = 16463
  383. OnClick = MnuFileOpenImageClick
  384. end
  385. object MnuFileSaveImage: TMenuItem
  386. Caption = '&Save Image...'
  387. ShortCut = 16467
  388. OnClick = MnuFileSaveImageClick
  389. end
  390. object N3: TMenuItem
  391. Caption = '-'
  392. end
  393. object MnuFileOpenMesh: TMenuItem
  394. Caption = 'Open Mesh...'
  395. OnClick = MnuFileOpenMeshClick
  396. end
  397. object MnuFileSaveMesh: TMenuItem
  398. Caption = 'Save Mesh...'
  399. OnClick = MnuFileSaveMeshClick
  400. end
  401. object MnuResetMesh: TMenuItem
  402. Caption = 'Reset Mesh'
  403. ShortCut = 16466
  404. OnClick = MnuResetMeshClick
  405. end
  406. object N4: TMenuItem
  407. Caption = '-'
  408. end
  409. object MnuFileExit: TMenuItem
  410. Caption = 'Exit'
  411. OnClick = MnuFileExitClick
  412. end
  413. end
  414. object MnuSampling: TMenuItem
  415. Caption = 'Sampling'
  416. object MnuSupersampleNow: TMenuItem
  417. Caption = 'Supersample Now!'
  418. OnClick = MnuSupersampleNowClick
  419. end
  420. object N1: TMenuItem
  421. Caption = '-'
  422. end
  423. object MnuSamplingKernel: TMenuItem
  424. Caption = 'Sampling Kernel'
  425. end
  426. object MnuKernelMode: TMenuItem
  427. Caption = 'KernelMode'
  428. object MnuKernelModeDefault: TMenuItem
  429. AutoCheck = True
  430. Caption = 'kmDefault (slow, but exact)'
  431. RadioItem = True
  432. OnClick = MnuKernelModeClick
  433. end
  434. object MnuKernelModeTableNearest: TMenuItem
  435. Tag = 1
  436. AutoCheck = True
  437. Caption = 'kmTableNearest (fastest, "curve" sampling)'
  438. RadioItem = True
  439. OnClick = MnuKernelModeClick
  440. end
  441. object MnuKernelModeTableLinear: TMenuItem
  442. Tag = 2
  443. AutoCheck = True
  444. Caption = 'kmTableLinear (fast, "curve" approximation)'
  445. Checked = True
  446. RadioItem = True
  447. OnClick = MnuKernelModeClick
  448. end
  449. end
  450. object MnuSamplingGrid: TMenuItem
  451. Caption = 'Sampling Grid'
  452. object MnuSamplingGrid2x2: TMenuItem
  453. Tag = 2
  454. AutoCheck = True
  455. Caption = '2x2'
  456. RadioItem = True
  457. OnClick = MnuSamplingGridClick
  458. end
  459. object MnuSamplingGrid3x3: TMenuItem
  460. Tag = 3
  461. AutoCheck = True
  462. Caption = '3x3'
  463. Checked = True
  464. RadioItem = True
  465. OnClick = MnuSamplingGridClick
  466. end
  467. object MnuSamplingGrid5x5: TMenuItem
  468. Tag = 5
  469. AutoCheck = True
  470. Caption = '5x5'
  471. RadioItem = True
  472. OnClick = MnuSamplingGridClick
  473. end
  474. object MnuSamplingGrid7x7: TMenuItem
  475. Tag = 7
  476. AutoCheck = True
  477. Caption = '7x7'
  478. RadioItem = True
  479. OnClick = MnuSamplingGridClick
  480. end
  481. end
  482. object N2: TMenuItem
  483. Caption = '-'
  484. end
  485. object MnuBilinearWarp: TMenuItem
  486. AutoCheck = True
  487. Caption = 'Bilinear Warp'
  488. Checked = True
  489. OnClick = MnuBilinearWarpClick
  490. end
  491. end
  492. end
  493. end