DrawToolType.cs 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553
  1. using System.ComponentModel;
  2. namespace PaintDotNet.Annotation.Enum
  3. {
  4. /// <summary>
  5. /// 工具枚举
  6. /// 包含标注、测量、视场
  7. /// 还会有一些其它工具
  8. /// </summary>
  9. public enum DrawToolType
  10. {
  11. // 鼠标指针
  12. Pointer,
  13. #region 标注
  14. //
  15. // 以下是标注
  16. //
  17. /// <summary>
  18. /// 多边形->矩形
  19. /// </summary>
  20. [Description("DrawRectangle")]
  21. DrawRectangle = 6150,
  22. /// <summary>
  23. ///圆->椭圆
  24. /// </summary>
  25. [Description("DrawEllipse")]
  26. DrawEllipse = 6140,
  27. /// <summary>
  28. ///直线->直线
  29. /// </summary>
  30. [Description("DrawLine")]
  31. DrawLine = 6110,
  32. /// <summary>
  33. ///多边形->多边形
  34. /// </summary>
  35. [Description("DrawPolygon")]
  36. DrawPolygon = 6151,
  37. /// <summary>
  38. ///曲线->折线
  39. /// </summary>
  40. [Description("DrawPolygonLine")]
  41. DrawPolygonLine = 6121,
  42. /// <summary>
  43. ///曲线->铅笔
  44. /// </summary>
  45. [Description("DrawPencil")]
  46. DrawPencil = 6120,
  47. /// <summary>
  48. ///曲线->闭合曲线
  49. /// </summary>
  50. [Description("DrawClosedCurve")]
  51. DrawClosedCurve = 6123,
  52. /// <summary>
  53. ///曲线->曲线
  54. /// </summary>
  55. [Description("DrawCurve")]
  56. DrawCurve = 6122,
  57. /// <summary>
  58. ///圆->圆
  59. /// </summary>
  60. [Description("DrawCircle")]
  61. DrawCircle = 6141,
  62. /// <summary>
  63. ///箭头->单向箭头
  64. /// </summary>
  65. [Description("DrawOneArrowLine")]
  66. DrawOneArrowLine = 6130,
  67. /// <summary>
  68. ///箭头->双向箭头
  69. /// </summary>
  70. [Description("DrawTwoArrowLine")]
  71. DrawTwoArrowLine = 6131,
  72. /// <summary>
  73. ///直线->线段
  74. /// </summary>
  75. [Description("DrawLineSegment")]
  76. DrawLineSegment = 6111,
  77. /// <summary>
  78. ///多边形->圆角矩形
  79. /// </summary>
  80. [Description("DrawRoundRectangle")]
  81. DrawRoundRectangle = 6152,
  82. /// <summary>
  83. ///文本
  84. /// </summary>
  85. [Description("DrawTextString")]
  86. DrawTextString = 609,
  87. /// <summary>
  88. ///标记->日期
  89. /// </summary>
  90. [Description("DrawDateMark")]
  91. DrawDateMark = 6101,
  92. /// <summary>
  93. ///标记->时间
  94. /// </summary>
  95. [Description("DrawTimeMark")]
  96. DrawTimeMark = 6102,
  97. /// <summary>
  98. ///标记-点标记
  99. /// </summary>
  100. [Description("DrawPointMark")]
  101. DrawPointMark = 6103,
  102. /// <summary>
  103. /// 标记-数字标记
  104. /// </summary>
  105. [Description("DrawNumberMark")]
  106. DrawNumberMark = 6104,
  107. /// <summary>
  108. /// 标记-放大倍数
  109. /// </summary>
  110. [Description("DrawGainNumber")]
  111. DrawGainNumber = 6105,
  112. /// <summary>
  113. ///工字线
  114. /// </summary>
  115. [Description("DrawWorkType")]
  116. DrawWorkType = 617,
  117. /// <summary>
  118. ///水印
  119. /// </summary>
  120. [Description("DrawWaterMark")]
  121. DrawWaterMark = 616,
  122. /// <summary>
  123. /// 自动标尺
  124. /// </summary>
  125. [Description("DrawAutoRuler")]
  126. DrawAutoRuler = 606,
  127. /// <summary>
  128. /// 手动标尺
  129. /// </summary>
  130. [Description("DrawHandModeRuler")]
  131. DrawHandModeRuler = 608,
  132. /// <summary>
  133. /// 预存标尺
  134. /// </summary>
  135. [Description("DrawPrestoredRuler")]
  136. DrawPrestoredRuler = 607,
  137. #endregion
  138. #region 测量
  139. //
  140. // 以下是测量
  141. //
  142. /// <summary>
  143. /// 长度测量->直线
  144. /// </summary>
  145. [Description("MeasureLine")]
  146. MeasureLine = 7080,
  147. /// <summary>
  148. /// 长度测量->距离
  149. /// </summary>
  150. [Description("MeasureDistanceLine")]
  151. MeasureDistanceLine = 7084,
  152. /// <summary>
  153. /// 长度测量->长度
  154. /// </summary>
  155. [Description("MeasureLength")]
  156. MeasureLength = 7081,
  157. /// <summary>
  158. /// 长度测量->水平线
  159. /// </summary>
  160. [Description("MeasureHLine")]
  161. MeasureHLine = 7082,
  162. /// <summary>
  163. /// 长度测量->垂线
  164. /// </summary>
  165. [Description("MeasureVLine")]
  166. MeasureVLine = 7083,
  167. /// <summary>
  168. /// 多点线段->多点直线
  169. /// </summary>
  170. [Description("MeasureMulLine")]
  171. MeasureMulLine = 7090,
  172. /// <summary>
  173. /// 多点线段->多点水平线
  174. /// </summary>
  175. [Description("MeasureMulHVLine")]
  176. MeasureMulHVLine = 7091,
  177. /// <summary>
  178. /// 多点线段->多点线段
  179. /// </summary>
  180. [Description("MeasureMulSegment")]
  181. MeasureMulSegment = 7092,
  182. /// <summary>
  183. /// 多点线段->多点垂直线
  184. /// </summary>
  185. [Description("MeasureMulVLine")]
  186. MeasureMulVLine = 7093,
  187. /// <summary>
  188. /// 曲线长度->折线
  189. /// </summary>
  190. [Description("MeasureBrokenLine")]
  191. MeasureBrokenLine = 7100,
  192. /// <summary>
  193. /// 曲线长度->轨迹曲线
  194. /// </summary>
  195. [Description("MeasureTraceCurve")]
  196. MeasureTraceCurve = 7102,
  197. /// <summary>
  198. /// 曲线长度->曲线
  199. /// </summary>
  200. [Description("MeasureCurveLine")]
  201. MeasureCurveLine = 7101,
  202. /// <summary>
  203. /// 点垂线->点垂线
  204. /// </summary>
  205. [Description("MeasurePLine")]
  206. MeasurePLine = 7150,
  207. /// <summary>
  208. /// 点垂线->多点垂线
  209. /// </summary>
  210. [Description("MeasureMulPLine")]
  211. MeasureMulPLine = 7151,
  212. /// <summary>
  213. /// 点垂线->水平多点垂线
  214. /// </summary>
  215. [Description("MeasureHMulPLine")]
  216. MeasureHMulPLine = 7152,
  217. /// <summary>
  218. /// 点垂线->垂直多点垂线
  219. /// </summary>
  220. [Description("MeasureVMulPLine")]
  221. MeasureVMulPLine = 7153,
  222. /// <summary>
  223. /// 点垂线->点到水平线距离
  224. /// </summary>
  225. [Description("MeasurePointHLine")]
  226. MeasurePointHLine = 7154,
  227. /// <summary>
  228. /// 平行线测量->平行线
  229. /// </summary>
  230. [Description("MeasureParallelLine")]
  231. MeasureParallelLine = 7130,
  232. /// <summary>
  233. /// 平行线测量->多点平行线
  234. /// </summary>
  235. [Description("MeasureMulParallelLine")]
  236. MeasureMulParallelLine = 7131,
  237. /// <summary>
  238. /// 平行线测量->垂直多点平行线
  239. /// <summary>
  240. /// </summary>
  241. [Description("MeasureVMulParallelLine")]
  242. MeasureVMulParallelLine = 7133,
  243. /// <summary>
  244. /// 平行线测量->水平多点平行线
  245. /// </summary>
  246. [Description("MeasureHMulParallelLine")]
  247. MeasureHMulParallelLine = 7132,
  248. /// <summary>
  249. /// 多边形测量->闭合曲线
  250. /// </summary>
  251. [Description("MeasureClosedCurve")]
  252. MeasureClosedCurve = 7140,
  253. /// <summary>
  254. /// 多边形测量->多边形
  255. /// </summary>
  256. [Description("MeasurePolygon")]
  257. MeasurePolygon = 7141,
  258. /// <summary>
  259. /// 多边形测量->矩形
  260. /// </summary>
  261. [Description("MeasureRectangle")]
  262. MeasureRectangle = 7142,
  263. /// <summary>
  264. /// 多边形测量->任意矩形
  265. /// </summary>
  266. [Description("MeasureRandRectangle")]
  267. MeasureRandRectangle = 7143,
  268. /// <summary>
  269. /// 多边形测量->正方形
  270. /// </summary>
  271. [Description("MeasureSquare")]
  272. MeasureSquare = 7144,
  273. /// <summary>
  274. /// 多边形测量->任意正方形
  275. /// </summary>
  276. [Description("MeasureRandSquare")]
  277. MeasureRandSquare = 7145,
  278. /// <summary>
  279. /// 多边形测量->轨迹多边形
  280. /// </summary>
  281. [Description("MeasureTracePolygon")]
  282. MeasureTracePolygon = 7146,
  283. /// <summary>
  284. /// 圆形测量->三点圆
  285. /// </summary>
  286. [Description("MeasureCircle")]
  287. MeasureCircle = 7110,
  288. /// <summary>
  289. /// 圆形测量->向内画圆
  290. /// </summary>
  291. [Description("MeasureInnerCircle")]
  292. MeasureInnerCircle = 7111,
  293. /// <summary>
  294. /// 圆形测量->向外画圆
  295. /// </summary>
  296. [Description("MeasureOuterCircle")]
  297. MeasureOuterCircle = 7112,
  298. /// <summary>
  299. /// 圆形测量->直径画圆
  300. /// </summary>
  301. [Description("MeasureDiameterCircle")]
  302. MeasureDiameterCircle = 7113,
  303. /// <summary>
  304. /// 圆形测量->点到圆距离
  305. /// </summary>
  306. [Description("MeasurePointEdgeSize")]
  307. MeasurePointEdgeSize = 7114,
  308. /// <summary>
  309. /// 圆形测量->点到圆心距离
  310. /// </summary>
  311. [Description("MeasurePointCenterSize")]
  312. MeasurePointCenterSize = 7115,
  313. /// <summary>
  314. /// 圆形测量->点到圆弧距离
  315. /// </summary>
  316. [Description("MeasurePointArcSize")]
  317. MeasurePointArcSize = 7116,
  318. /// <summary>
  319. /// 对准度测量->圆心到圆心距离
  320. /// </summary>
  321. [Description("MeasureCenterCenterSize")]
  322. MeasureCenterCenterSize = 7124,
  323. /// <summary>
  324. /// 对准度测量->两线中垂线距离
  325. /// </summary>
  326. [Description("MeasureTwoLineVLDistance")]
  327. MeasureTwoLineVLDistance = 7125,
  328. /// <summary>
  329. ///角度测量->三点角度
  330. /// </summary>
  331. [Description("MeasureThreePointAngle")]
  332. MeasureThreePointAngle = 7120,
  333. /// <summary>
  334. /// 角度测量->四点角度
  335. /// </summary>
  336. [Description("MeasureFourPointAngle")]
  337. MeasureFourPointAngle = 7121,
  338. /// <summary>
  339. /// 角度测量->三点弧
  340. /// </summary>
  341. [Description("MeasureThreePointArc")]
  342. MeasureThreePointArc = 7122,
  343. #endregion
  344. #region 视场
  345. //
  346. // 以下是视场
  347. //
  348. [Description("ViewOval")]
  349. ViewOval = 804, //椭圆视场
  350. [Description("ViewCircle")]
  351. ViewCircle = 805, //圆形视场
  352. [Description("ViewRectangle")]
  353. ViewRectangle = 806, //矩形视场
  354. [Description("ViewRectangleEx")]
  355. ViewRectangleEx = 818, //任意矩形视场
  356. [Description("ViewTriangle")]
  357. ViewTriangle = 807, //三角形视场
  358. [Description("ViewTriangleEx")]
  359. ViewTriangleEx = 817, //任意三角形视场
  360. [Description("ViewSquare")]
  361. ViewSquare = 808, //正方形视场
  362. [Description("ViewPolygon")]
  363. ViewPolygon = 809, //多边形视场
  364. #endregion
  365. #region 对象处理
  366. //
  367. // 以下是二值提取的交互操作
  368. //
  369. //单个提取
  370. [Description("BinaryExtract")]
  371. BinaryExtract = 901, //单个提取
  372. //选择
  373. [Description("BinaryChoise")]
  374. BinaryChoise = 902, //单个选择
  375. [Description("BinaryChoiseRectangle")]
  376. BinaryChoiseRectangle, //矩形选择
  377. [Description("BinaryChoiseOval")]
  378. BinaryChoiseOval, //椭圆选择
  379. [Description("BinaryChoisePolygon")]
  380. BinaryChoisePolygon, //多边形选择
  381. //分割
  382. [Description("BinarySplitPolyline")]
  383. BinarySplitPolyline, //折线分割
  384. [Description("BinarySplitLine")]
  385. BinarySplitLine, //直线分割
  386. [Description("BinarySplitOval")]
  387. BinarySplitOval, //椭圆分割
  388. //连接
  389. [Description("BinaryConnectionLine")]
  390. BinaryConnectionLine, //直线连接
  391. [Description("BinaryConnectionPolygonLine")]
  392. BinaryConnectionPolygonLine, //折线连接
  393. [Description("BinaryConnectionOval")]
  394. BinaryConnectionOval, //椭圆连接
  395. //添加
  396. [Description("BinaryAddRectangle")]
  397. BinaryAddRectangle, //矩形添加
  398. [Description("BinaryAddOval")]
  399. BinaryAddOval, //椭圆添加
  400. [Description("BinaryAddPolygon")]
  401. BinaryAddPolygon, //多边形添加
  402. [Description("BinaryAddTrack")]
  403. BinaryAddTrack, //轨迹添加
  404. //删除
  405. [Description("BinaryDelete")]
  406. BinaryDelete = 917, //单个删除
  407. [Description("BinaryDeleteRectangle")]
  408. BinaryDeleteRectangle = 918,//矩形删除
  409. [Description("BinaryDeleteOval")]
  410. BinaryDeleteOval = 919, //椭圆删除
  411. [Description("BinaryDeletePolygon")]
  412. BinaryDeletePolygon = 920, //多边形删除
  413. #endregion
  414. #region 专用分析
  415. /// <summary>
  416. /// 夹杂物无效果工具
  417. /// </summary>
  418. [Description("InclusionNoEffect")]
  419. InclusionNoEffect,
  420. /// <summary>
  421. /// 夹杂物选择
  422. /// </summary>
  423. [Description("InclusionSelect")]
  424. InclusionSelect,
  425. /// <summary>
  426. /// 夹杂物多边形绘制
  427. /// </summary>
  428. [Description("InclusionPolygon")]
  429. InclusionPolygon,
  430. /// <summary>
  431. /// 夹杂物多边形绘制(新)
  432. /// </summary>
  433. [Description("InclusionNewPolygon")]
  434. InclusionNewPolygon,
  435. /// <summary>
  436. /// 夹杂物边界绘制
  437. /// </summary>
  438. [Description("InclusionDrawRecognitionArea")]
  439. InclusionDrawRecognitionArea,
  440. /// <summary>
  441. /// 夹杂物边界选择
  442. /// </summary>
  443. [Description("InclusionSelectRecognitionArea")]
  444. InclusionSelectRecognitionArea,
  445. /// <summary>
  446. /// 孔隙率选择
  447. /// </summary>
  448. [Description("PorositySelect")]
  449. PorositySelect,
  450. #endregion
  451. #region 物相提取
  452. /// <summary>
  453. /// 多边形
  454. /// </summary>
  455. PPhasePolygon,
  456. /// <summary>
  457. /// 矩形
  458. /// </summary>
  459. PPhaseRectangle,
  460. /// <summary>
  461. /// 椭圆
  462. /// </summary>
  463. PPhaseOval,
  464. #endregion
  465. #region 分析绘图
  466. //画圆
  467. [Description("DrawCircleA")]
  468. DrawCircleA,
  469. [Description("DrawSquareA")]
  470. DrawSquareA,
  471. //物相间距线段
  472. [Description("MeasurePMulLine")]
  473. DrawMulLineA,
  474. #endregion
  475. #region 其它
  476. //
  477. // 以下是其它工具
  478. //
  479. MoveMode, //移动模式,用于拖动图片(如果出现滚动条)
  480. ImageCut, //图片裁剪
  481. OpticalDensityLine, //光密度直线绘制
  482. /// <summary>
  483. /// 划痕处理
  484. /// </summary>
  485. DrawScratchTreatmentLine,
  486. DrawSmudgeRectangle, //污迹处理-矩形
  487. DrawSmudgePolygon, //污迹处理-多边形
  488. DrawSmudgeCircle, //污迹处理-圆形
  489. DrawSmudgeEllipse, //污迹处理-椭圆
  490. ColorPicker, //颜色选择,吸管工具
  491. #endregion
  492. #region 图像采集-图像拼接
  493. /// <summary>
  494. /// 图像拼接-矩形
  495. /// </summary>
  496. DrawStitchingRectangle,
  497. /// <summary>
  498. /// 图像拼接-圆形
  499. /// </summary>
  500. DrawStitchingCircle,
  501. /// <summary>
  502. /// 图像拼接-多边形
  503. /// </summary>
  504. DrawStitchingPolygon,
  505. /// <summary>
  506. /// 工艺图对照
  507. /// </summary>
  508. DrawArtworkRectangle,
  509. /// <summary>
  510. /// 十字线
  511. /// </summary>
  512. DrawLocationCross,
  513. #endregion
  514. NullTool, //什么工具都没有
  515. NumberOfDrawTools, //枚举下标,【所有工具都放在这个前面】
  516. }
  517. }