index.html 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Image editor basic</title>
  6. <link type="text/css" href="css/colorpicker.min.css" rel="stylesheet">
  7. <link type="text/css" href="css/tui-image-editor.css" rel="stylesheet">
  8. </head>
  9. <body>
  10. <div class="body-container">
  11. <div class="tui-image-editor-controls">
  12. <div class="header">
  13. <ul class="menu">
  14. <li class="menu-item border input-wrapper">
  15. Load
  16. <input type="file" accept="image/*" id="input-image-file">
  17. </li>
  18. <li class="menu-item border" id="btn-download">Download</li>
  19. </ul>
  20. </div>
  21. <ul class="menu">
  22. <li class="menu-item disabled" id="btn-undo">Undo(撤销)</li>
  23. <li class="menu-item disabled" id="btn-redo">Redo(重做)</li>
  24. <li class="menu-item" id="btn-clear-objects">ClearObjects(清除编辑)</li>
  25. <li class="menu-item" id="btn-remove-active-object">RemoveActiveObject(移除操作区)</li>
  26. <li class="menu-item" id="btn-crop">Crop(剪切)</li>
  27. <li class="menu-item" id="btn-flip">Flip(翻转)</li>
  28. <li class="menu-item" id="btn-rotation">Rotation(旋转)</li>
  29. <li class="menu-item" id="btn-draw-line">DrawLine(画笔)</li>
  30. <li class="menu-item" id="btn-draw-shape">Shape(添加形状)</li>
  31. <li class="menu-item" id="btn-add-icon">Icon(添加图标)</li>
  32. <li class="menu-item" id="btn-text">Text(添加文字)</li>
  33. <li class="menu-item" id="btn-mask-filter">Mask(模糊)</li>
  34. <li class="menu-item" id="btn-image-filter">Filter(过滤器)</li>
  35. </ul>
  36. <div class="sub-menu-container" id="crop-sub-menu">
  37. <ul class="menu">
  38. <li class="menu-item" id="btn-apply-crop">Apply(应用)</li>
  39. <li class="menu-item" id="btn-cancel-crop">Cancel(取消)</li>
  40. </ul>
  41. </div>
  42. <div class="sub-menu-container" id="flip-sub-menu">
  43. <ul class="menu">
  44. <li class="menu-item" id="btn-flip-x">FlipX(左右翻转)</li>
  45. <li class="menu-item" id="btn-flip-y">FlipY(上下翻转)</li>
  46. <li class="menu-item" id="btn-reset-flip">Reset(重置)</li>
  47. <li class="menu-item close">Close(关闭)</li>
  48. </ul>
  49. </div>
  50. <div class="sub-menu-container" id="rotation-sub-menu">
  51. <ul class="menu">
  52. <li class="menu-item" id="btn-rotate-clockwise">Clockwise(30)(顺时针30度)</li>
  53. <li class="menu-item" id="btn-rotate-counter-clockwise">Counter-Clockwise(-30)(逆时针30度)</li>
  54. <li class="menu-item no-pointer"><label>Range input(范围)<input id="input-rotation-range" type="range" min="-360" value="0" max="360"></label></li>
  55. <li class="menu-item close">Close(关闭)</li>
  56. </ul>
  57. </div>
  58. <div class="sub-menu-container menu" id="draw-line-sub-menu">
  59. <ul class="menu">
  60. <li class="menu-item">
  61. <label><input type="radio" name="select-line-type" value="freeDrawing" checked="checked"> Free drawing(自由画笔)</label>
  62. <label><input type="radio" name="select-line-type" value="lineDrawing"> Straight line(画线)</label>
  63. </li>
  64. <li class="menu-item">
  65. <div id="tui-brush-color-picker">Brush color</div>
  66. </li>
  67. <li class="menu-item"><label class="menu-item no-pointer">Brush width(画笔宽)<input id="input-brush-width-range" type="range" min="5" max="30" value="12"></label></li>
  68. <li class="menu-item close">Close</li>
  69. </ul>
  70. </div>
  71. <div class="sub-menu-container" id="draw-shape-sub-menu">
  72. <ul class="menu">
  73. <li class="menu-item">
  74. <label><input type="radio" name="select-shape-type" value="rect" checked="checked"> rect(方形)</label>
  75. <label><input type="radio" name="select-shape-type" value="circle"> circle(圆形)</label>
  76. <label><input type="radio" name="select-shape-type" value="triangle"> triangle(三角形)</label>
  77. </li>
  78. <li class="menu-item">
  79. <select name="select-color-type">
  80. <option value="fill">Fill</option>
  81. <option value="stroke">Stroke</option>
  82. </select>
  83. <label><input type="checkbox" id="input-check-transparent">transparent(透明)</label>
  84. <div id="tui-shape-color-picker"></div>
  85. </li>
  86. <li class="menu-item"><label class="menu-item no-pointer">Stroke width(边宽)<input id="input-stroke-width-range" type="range" min="0" max="300" value="12"></label></li>
  87. <li class="menu-item close">Close</li>
  88. </ul>
  89. </div>
  90. <div class="sub-menu-container" id="icon-sub-menu">
  91. <ul class="menu">
  92. <li class="menu-item">
  93. <div id="tui-icon-color-picker">Icon color(图标颜色)</div>
  94. </li>
  95. <li class="menu-item border" id="btn-register-icon">Register custom icon(注册新增图标)</li>
  96. <li class="menu-item icon-text" data-icon-type="arrow">➡</li>
  97. <li class="menu-item icon-text" data-icon-type="cancel">✖</li>
  98. <li class="menu-item close">Close(关闭)</li>
  99. </ul>
  100. </div>
  101. <div class="sub-menu-container" id="text-sub-menu">
  102. <ul class="menu">
  103. <li class="menu-item">
  104. <div>
  105. <button class="btn-text-style" data-style-type="b">Bold(粗体)</button>
  106. <button class="btn-text-style" data-style-type="i">Italic(斜体)</button>
  107. <button class="btn-text-style" data-style-type="u">Underline(下划线)</button>
  108. </div>
  109. <div>
  110. <button class="btn-text-style" data-style-type="l">Left(靠左)</button>
  111. <button class="btn-text-style" data-style-type="c">Center(居中)</button>
  112. <button class="btn-text-style" data-style-type="r">Right(靠右)</button>
  113. </div>
  114. </li>
  115. <li class="menu-item"><label class="no-pointer"><input id="input-font-size-range" type="range" min="10" max="100" value="10"></label></li>
  116. <li class="menu-item">
  117. <div id="tui-text-color-picker">Text color(文字颜色)</div>
  118. </li>
  119. <li class="menu-item close">Close(关闭)</li>
  120. </ul>
  121. </div>
  122. <div class="sub-menu-container" id="filter-sub-menu">
  123. <ul class="menu">
  124. <li class="menu-item border input-wrapper">
  125. Load Mask Image(上传模糊图片)
  126. <input type="file" accept="image/*" id="input-mask-image-file">
  127. </li>
  128. <li class="menu-item" id="btn-apply-mask">Apply mask filter(应用模糊过滤)</li>
  129. <li class="menu-item close">Close(关闭)</li>
  130. </ul>
  131. </div>
  132. <div class="sub-menu-container" id="image-filter-sub-menu">
  133. <ul class="menu">
  134. <li class="menu-item align-left-top">
  135. <table>
  136. <tbody>
  137. <tr>
  138. <td><label><input type="checkbox" id="input-check-grayscale">Grayscale</label></td>
  139. <td><label><input type="checkbox" id="input-check-invert">Invert</label></td>
  140. <td><label><input type="checkbox" id="input-check-sepia">Sepia</label></td>
  141. </tr>
  142. <tr>
  143. <td><label><input type="checkbox" id="input-check-sepia2">Sepia2</label></td>
  144. <td><label><input type="checkbox" id="input-check-blur">Blur</label></td>
  145. <td><label><input type="checkbox" id="input-check-sharpen">Sharpen</label></td>
  146. </tr>
  147. <tr>
  148. <td><label><input type="checkbox" id="input-check-emboss">Emboss</label></td>
  149. </tr>
  150. </tbody>
  151. </table>
  152. </li>
  153. <li class="menu-item align-left-top">
  154. <p>
  155. <label><input type="checkbox" id="input-check-remove-white">RemoveWhite</label><br>
  156. <label>Threshold<input class="range-narrow" id="input-range-remove-white-threshold" type="range" min="0" value="60" max="255"></label><br>
  157. <label>Distance<input class="range-narrow" id="input-range-remove-white-distance" type="range" min="0" value="10" max="255"></label>
  158. </p>
  159. </li>
  160. <li class="menu-item align-left-top">
  161. <p>
  162. <label><input type="checkbox" id="input-check-brightness">Brightness</label><br>
  163. <label>Value<input class="range-narrow" id="input-range-brightness-value" type="range" min="-255" value="100" max="255"></label>
  164. </p>
  165. </li>
  166. <li class="menu-item align-left-top">
  167. <p>
  168. <label><input type="checkbox" id="input-check-noise">Noise</label><br>
  169. <label>Value<input class="range-narrow" id="input-range-noise-value" type="range" min="0" value="100" max="1000"></label>
  170. </p>
  171. </li>
  172. <li class="menu-item align-left-top">
  173. <p>
  174. <label><input type="checkbox" id="input-check-gradient-transparancy">GradientTransparency</label><br>
  175. <label>Value<input class="range-narrow" id="input-range-gradient-transparency-value" type="range" min="0" value="100" max="255"></label>
  176. </p>
  177. </li>
  178. <li class="menu-item align-left-top">
  179. <p>
  180. <label><input type="checkbox" id="input-check-pixelate">Pixelate</label><br>
  181. <label>Value<input class="range-narrow" id="input-range-pixelate-value" type="range" min="2" value="4" max="20"></label>
  182. </p>
  183. </li>
  184. <li class="menu-item align-left-top">
  185. <p>
  186. <label><input type="checkbox" id="input-check-tint">Tint</label><br>
  187. <div id="tui-tint-color-picker"></div>
  188. <label>Opacity<input class="range-narrow" id="input-range-tint-opacity-value" type="range" min="0" value="1" max="1" step="0.1"></label>
  189. </p>
  190. </li>
  191. <li class="menu-item align-left-top">
  192. <p>
  193. <label><input type="checkbox" id="input-check-multiply">Multiply</label>
  194. <div id="tui-multiply-color-picker"></div>
  195. </p>
  196. </li>
  197. <li class="menu-item align-left-top">
  198. <p>
  199. <label><input type="checkbox" id="input-check-blend">Blend</label>
  200. <div id="tui-blend-color-picker"></div>
  201. <select name="select-blend-type">
  202. <option value="add" selected>Add</option>
  203. <option value="diff">Diff</option>
  204. <option value="diff">Subtract</option>
  205. <option value="multiply">Multiply</option>
  206. <option value="screen">Screen</option>
  207. <option value="lighten">Lighten</option>
  208. <option value="darken">Darken</option>
  209. </select>
  210. </p>
  211. </li><li class="menu-item align-left-top">
  212. <p>
  213. <label><input type="checkbox" id="input-check-color-filter">ColorFilter</label><br>
  214. <label>Threshold<input class="range-narrow" id="input-range-color-filter-value" type="range" min="0" value="45" max="255"></label>
  215. </p>
  216. </li>
  217. <li class="menu-item close">Close</li>
  218. </ul>
  219. </div>
  220. </div>
  221. <div class="tui-image-editor"></div>
  222. </div>
  223. <script type="text/javascript" src="libs/fabric.js"></script>
  224. <script type="text/javascript" src="libs/tui-code-snippet.js"></script>
  225. <script type="text/javascript" src="libs/jquery.min.js"></script>
  226. <script type="text/javascript" src="libs/FileSaver.min.js"></script>
  227. <script type="text/javascript" src="libs/colorpicker.min.js"></script>
  228. <script type="text/javascript" src="libs/tui-image-editor.min.js"></script>
  229. <script src="js/basic.js"></script>
  230. </body>
  231. </html>