Advertisement
Guest User

Untitled

a guest
Feb 19th, 2011
244
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.81 KB | None | 0 0
  1. unit Unit1;
  2.  
  3. interface
  4.  
  5. uses
  6. Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  7. Dialogs, ExtCtrls, Menus, ColorGrd, ComCtrls, ToolWin, StdCtrls, Spin,
  8. Buttons, XPMan, ExtDlgs;
  9.  
  10. type
  11. TForm1 = class(TForm)
  12. MainMenu1: TMainMenu;
  13. N1: TMenuItem;
  14. N2: TMenuItem;
  15. N3: TMenuItem;
  16. N4: TMenuItem;
  17. N5: TMenuItem;
  18. N6: TMenuItem;
  19. N7: TMenuItem;
  20. N8: TMenuItem;
  21. N9: TMenuItem;
  22. ColorDialog1: TColorDialog;
  23. ScrollBox1: TScrollBox;
  24. ToolBar1: TToolBar;
  25. SpeedButton1: TSpeedButton;
  26. SpeedButton2: TSpeedButton;
  27. SpeedButton3: TSpeedButton;
  28. SpeedButton4: TSpeedButton;
  29. SpeedButton5: TSpeedButton;
  30. SpeedButton6: TSpeedButton;
  31. SpinEdit1: TSpinEdit;
  32. SpeedButton7: TSpeedButton;
  33. XPManifest1: TXPManifest;
  34. SavePictureDialog1: TSavePictureDialog;
  35. OpenPictureDialog1: TOpenPictureDialog;
  36. N10: TMenuItem;
  37. Image1: TImage;
  38. procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
  39. Y: Integer);
  40. procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;
  41. Shift: TShiftState; X, Y: Integer);
  42. procedure Image1MouseUp(Sender: TObject; Button: TMouseButton;
  43. Shift: TShiftState; X, Y: Integer);
  44. procedure SpinEdit1Change(Sender: TObject);
  45. procedure N8Click(Sender: TObject);
  46. procedure N3Click(Sender: TObject);
  47. procedure N4Click(Sender: TObject);
  48. procedure SpeedButton7Click(Sender: TObject);
  49. procedure N2Click(Sender: TObject);
  50. procedure N5Click(Sender: TObject);
  51. procedure N10Click(Sender: TObject);
  52. procedure N11Click(Sender: TObject);
  53.  
  54.  
  55.  
  56. private
  57. { Private declarations }
  58. public
  59.  
  60. { Public declarations }
  61. end;
  62.  
  63. var
  64. Form1: TForm1;
  65. r:boolean;
  66. x0,y0,x2,y2:integer;
  67. fname:string;
  68. c:tcolor;
  69.  
  70. implementation
  71.  
  72. uses Unit2;
  73.  
  74. {$R *.dfm}
  75.  
  76.  
  77. procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
  78. Y: Integer);
  79. begin
  80. if r then
  81. begin
  82. if speedbutton1.Down then
  83. begin
  84. image1.Canvas.Pen.Color:=colordialog1.Color;
  85. Image1.Canvas.LineTo(x, y);
  86. end;
  87.  
  88. if speedbutton3.Down then
  89. begin
  90. image1.Canvas.Pen.Color:=clwhite;
  91. image1.Canvas.Pen.Width:=spinedit1.Value;
  92. Image1.Canvas.LineTo(x, y);
  93. end;
  94. if speedbutton4.Down then
  95. begin
  96. image1.Canvas.MoveTo(x0, y0);
  97. Image1.Canvas.LineTo(x2,y2);
  98. Image1.Canvas.MoveTo(x0, y0);
  99. Image1.Canvas.LineTo(x,y);
  100. x2 := x; y2 :=y;
  101. end;
  102. if speedbutton5.Down then
  103. begin
  104. image1.Canvas.Rectangle(x0, y0, x2, y2);
  105. Image1.Canvas.Rectangle(x0, y0,x, y);
  106. x2 := x; y2 :=y;
  107.  
  108. end;
  109. if speedbutton6.Down then
  110. begin
  111. image1.Canvas.Ellipse(x0, y0, x2, y2);
  112. Image1.Canvas.Ellipse(x0, y0,x, y);
  113. x2 := x; y2 :=y;
  114.  
  115. end;
  116. end;
  117. end;
  118.  
  119. procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  120. Shift: TShiftState; X, Y: Integer);
  121. begin
  122. r:=true;
  123. if speedbutton1.Down then
  124.  
  125. Image1.Canvas.MoveTo(x, y);
  126. if speedbutton3.Down then
  127.  
  128. Image1.Canvas.MoveTo(x, y);
  129. if speedbutton4.Down then
  130. begin
  131. x0 := x; y0 := y;
  132. x2:=x; y2:=y;
  133. Image1.Canvas.Pen.Mode:=PmNotXor;
  134. end;
  135. if speedbutton5.Down then
  136. begin
  137. x0 := x; y0 := y;
  138. x2:=x; y2:=y;
  139. Image1.Canvas.Pen.Mode:=PmNotXor;
  140. end;
  141. if speedbutton6.Down then
  142. begin
  143. x0 := x; y0 := y;
  144. x2:=x; y2:=y;
  145. Image1.Canvas.Pen.Mode:=PmNotXor;
  146. end;
  147.  
  148. end;
  149.  
  150. procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
  151. Shift: TShiftState; X, Y: Integer);
  152. begin
  153.  
  154. if speedbutton1.Down then
  155. Image1.Canvas.LineTo(x, y);
  156. if speedbutton3.Down then
  157. Image1.Canvas.LineTo(x, y);
  158. r:=false;
  159.  
  160. if speedbutton4.Down then
  161. begin
  162. Image1.Canvas.Pen.Mode:=PmCopy;
  163. image1.Canvas.MoveTo(x0, y0);
  164. Image1.Canvas.LineTo(x2,y2);
  165. Image1.Canvas.MoveTo(x0, y0);
  166. Image1.Canvas.LineTo(x,y);
  167. end;
  168. if speedbutton5.Down then
  169. begin
  170. Image1.Canvas.Pen.Mode:=PmCopy;
  171. image1.Canvas.Rectangle(x0, y0, x2, y2);
  172. Image1.Canvas.Rectangle(x0, y0, x, y);
  173. end;
  174. if speedbutton6.Down then
  175. begin
  176. Image1.Canvas.Pen.Mode:=PmCopy;
  177. image1.Canvas.Ellipse(x0, y0, x2, y2);
  178. Image1.Canvas.Ellipse(x0, y0, x, y);
  179. end;
  180.  
  181. if speedbutton2.Down then
  182. begin
  183. c:=image1.canvas.Pixels[x,y];
  184. image1.Canvas.FloodFill(x,y,c,fssurface);
  185. end;
  186.  
  187.  
  188.  
  189.  
  190. end;
  191. procedure TForm1.SpinEdit1Change(Sender: TObject);
  192. begin
  193. Image1.Canvas.Pen.Width := SpinEdit1.Value;
  194. end;
  195.  
  196. procedure TForm1.N8Click(Sender: TObject);
  197. begin
  198. image1.Canvas.Pen.Width:=1;
  199. image1.Canvas.Brush.Color:=clwhite;
  200. image1.Canvas.Rectangle(-5,-5,image1.Width+5,image1.Height+5);
  201. end;
  202.  
  203. procedure TForm1.N3Click(Sender: TObject);
  204. begin
  205. if openpicturedialog1.Execute then
  206. If OpenpictureDialog1.Filename<>'' Then
  207. begin
  208. Image1.Picture.Bitmap.LoadFromFile(OpenPictureDialog1.FileName);
  209. Form1.Caption:=(OpenpictureDialog1.Filename+' — Picture Editor');
  210. end;
  211. end;
  212. procedure TForm1.N4Click(Sender: TObject);
  213. begin
  214. if savepicturedialog1.Execute then
  215. If savepictureDialog1.Filename<>'' Then
  216. begin
  217. Image1.Picture.Bitmap.SaveToFile(savePictureDialog1.FileName);
  218. Form1.Caption:=(savepictureDialog1.Filename+' — Picture Editor');
  219. end;
  220. end;
  221.  
  222. procedure TForm1.SpeedButton7Click(Sender: TObject);
  223. begin
  224. colordialog1.Execute;
  225. image1.Canvas.Pen.Color:= colordialog1.Color;
  226. image1.Canvas.Brush.Color:= colordialog1.Color;
  227.  
  228. end;
  229.  
  230. procedure TForm1.N2Click(Sender: TObject);
  231. begin
  232. image1.Canvas.Brush.Color:=clwhite;
  233. image1.Canvas.Rectangle(-5,-5,image1.Width+5,image1.Height+5);
  234. Form1.Caption:=(' Новый файл '+' — Графический редактор');
  235. image1.Canvas.Pen.Color:=clblack;
  236. end;
  237.  
  238. procedure TForm1.N5Click(Sender: TObject);
  239. begin
  240. form1.Close
  241. end;
  242.  
  243. procedure TForm1.N10Click(Sender: TObject);
  244. begin
  245. form2.ShowModal
  246. end;
  247.  
  248. procedure TForm1.N11Click(Sender: TObject);
  249. begin
  250.  
  251. end;
  252.  
  253. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement