ksp-image-cutter.js 39 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685
  1. (global["webpackJsonp"] = global["webpackJsonp"] || []).push([["components/ksp-image-cutter/ksp-image-cutter"],{
  2. /***/ 1158:
  3. /*!******************************************************************************!*\
  4. !*** F:/project/bigdata_WX/components/ksp-image-cutter/ksp-image-cutter.vue ***!
  5. \******************************************************************************/
  6. /*! no static exports found */
  7. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  8. "use strict";
  9. __webpack_require__.r(__webpack_exports__);
  10. /* harmony import */ var _ksp_image_cutter_vue_vue_type_template_id_4e360878_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ksp-image-cutter.vue?vue&type=template&id=4e360878&scoped=true& */ 1159);
  11. /* harmony import */ var _ksp_image_cutter_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./ksp-image-cutter.vue?vue&type=script&lang=js& */ 1161);
  12. /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _ksp_image_cutter_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _ksp_image_cutter_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));
  13. /* harmony import */ var _ksp_image_cutter_vue_vue_type_style_index_0_id_4e360878_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ksp-image-cutter.vue?vue&type=style&index=0&id=4e360878&scoped=true&lang=css& */ 1163);
  14. /* harmony import */ var _G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 32);
  15. var renderjs
  16. /* normalize component */
  17. var component = Object(_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])(
  18. _ksp_image_cutter_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"],
  19. _ksp_image_cutter_vue_vue_type_template_id_4e360878_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"],
  20. _ksp_image_cutter_vue_vue_type_template_id_4e360878_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"],
  21. false,
  22. null,
  23. "4e360878",
  24. null,
  25. false,
  26. _ksp_image_cutter_vue_vue_type_template_id_4e360878_scoped_true___WEBPACK_IMPORTED_MODULE_0__["components"],
  27. renderjs
  28. )
  29. component.options.__file = "components/ksp-image-cutter/ksp-image-cutter.vue"
  30. /* harmony default export */ __webpack_exports__["default"] = (component.exports);
  31. /***/ }),
  32. /***/ 1159:
  33. /*!*************************************************************************************************************************!*\
  34. !*** F:/project/bigdata_WX/components/ksp-image-cutter/ksp-image-cutter.vue?vue&type=template&id=4e360878&scoped=true& ***!
  35. \*************************************************************************************************************************/
  36. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  37. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  38. "use strict";
  39. __webpack_require__.r(__webpack_exports__);
  40. /* harmony import */ var _G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_ksp_image_cutter_vue_vue_type_template_id_4e360878_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--17-0!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./ksp-image-cutter.vue?vue&type=template&id=4e360878&scoped=true& */ 1160);
  41. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_ksp_image_cutter_vue_vue_type_template_id_4e360878_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"]; });
  42. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_ksp_image_cutter_vue_vue_type_template_id_4e360878_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
  43. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_ksp_image_cutter_vue_vue_type_template_id_4e360878_scoped_true___WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
  44. /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_ksp_image_cutter_vue_vue_type_template_id_4e360878_scoped_true___WEBPACK_IMPORTED_MODULE_0__["components"]; });
  45. /***/ }),
  46. /***/ 1160:
  47. /*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  48. !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--17-0!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!F:/project/bigdata_WX/components/ksp-image-cutter/ksp-image-cutter.vue?vue&type=template&id=4e360878&scoped=true& ***!
  49. \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  50. /*! exports provided: render, staticRenderFns, recyclableRender, components */
  51. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  52. "use strict";
  53. __webpack_require__.r(__webpack_exports__);
  54. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
  55. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
  56. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
  57. /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
  58. var components
  59. var render = function () {
  60. var _vm = this
  61. var _h = _vm.$createElement
  62. var _c = _vm._self._c || _h
  63. }
  64. var recyclableRender = false
  65. var staticRenderFns = []
  66. render._withStripped = true
  67. /***/ }),
  68. /***/ 1161:
  69. /*!*******************************************************************************************************!*\
  70. !*** F:/project/bigdata_WX/components/ksp-image-cutter/ksp-image-cutter.vue?vue&type=script&lang=js& ***!
  71. \*******************************************************************************************************/
  72. /*! no static exports found */
  73. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  74. "use strict";
  75. __webpack_require__.r(__webpack_exports__);
  76. /* harmony import */ var _G_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_ksp_image_cutter_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--13-1!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./ksp-image-cutter.vue?vue&type=script&lang=js& */ 1162);
  77. /* harmony import */ var _G_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_ksp_image_cutter_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_G_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_ksp_image_cutter_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);
  78. /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _G_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_ksp_image_cutter_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _G_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_ksp_image_cutter_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
  79. /* harmony default export */ __webpack_exports__["default"] = (_G_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_ksp_image_cutter_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a);
  80. /***/ }),
  81. /***/ 1162:
  82. /*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  83. !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--13-1!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!F:/project/bigdata_WX/components/ksp-image-cutter/ksp-image-cutter.vue?vue&type=script&lang=js& ***!
  84. \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  85. /*! no static exports found */
  86. /***/ (function(module, exports, __webpack_require__) {
  87. "use strict";
  88. /* WEBPACK VAR INJECTION */(function(uni) {
  89. Object.defineProperty(exports, "__esModule", {
  90. value: true
  91. });
  92. exports.default = void 0;
  93. //
  94. //
  95. //
  96. //
  97. //
  98. //
  99. //
  100. //
  101. //
  102. //
  103. //
  104. //
  105. //
  106. //
  107. //
  108. //
  109. //
  110. //
  111. //
  112. //
  113. //
  114. //
  115. //
  116. //
  117. //
  118. //
  119. //
  120. //
  121. //
  122. //
  123. //
  124. //
  125. //
  126. //
  127. //
  128. //
  129. //
  130. //
  131. //
  132. //
  133. //
  134. //
  135. //
  136. //
  137. //
  138. //
  139. //
  140. //
  141. //
  142. //
  143. //
  144. //
  145. //
  146. //
  147. //
  148. //
  149. //
  150. //
  151. //
  152. //
  153. //
  154. //
  155. //
  156. //
  157. //
  158. //
  159. //
  160. //
  161. //
  162. //
  163. //
  164. //
  165. //
  166. //
  167. //
  168. //
  169. //
  170. //
  171. //
  172. //
  173. //
  174. //
  175. //
  176. //
  177. //
  178. //
  179. //
  180. //
  181. //
  182. //
  183. //
  184. //
  185. //
  186. //
  187. //
  188. //
  189. //
  190. //
  191. //
  192. var _default = {
  193. props: {
  194. url: {
  195. type: String,
  196. default: ''
  197. },
  198. fixed: {
  199. type: Boolean,
  200. default: false
  201. },
  202. width: {
  203. type: Number,
  204. default: 200
  205. },
  206. height: {
  207. type: Number,
  208. default: 200
  209. },
  210. maxWidth: {
  211. type: Number,
  212. default: 1024
  213. },
  214. maxHeight: {
  215. type: Number,
  216. default: 1024
  217. },
  218. blob: {
  219. type: Boolean,
  220. default: true
  221. }
  222. },
  223. data: function data() {
  224. return {
  225. mask: {
  226. show: false
  227. },
  228. frame: {
  229. left: 50,
  230. top: 50,
  231. width: this.width,
  232. height: this.height
  233. },
  234. image: {
  235. left: 20,
  236. top: 20,
  237. width: 300,
  238. height: 400
  239. },
  240. real: {
  241. width: 100,
  242. height: 100
  243. },
  244. target: {
  245. width: this.width,
  246. height: this.height
  247. },
  248. touches: [],
  249. type: '',
  250. start: {
  251. frame: {
  252. left: 0,
  253. top: 0,
  254. width: 0,
  255. height: 0
  256. },
  257. image: {
  258. left: 0,
  259. top: 0,
  260. width: 0,
  261. height: 0
  262. }
  263. },
  264. timeoutId: -1,
  265. context: null
  266. };
  267. },
  268. mounted: function mounted() {
  269. this.context = uni.createCanvasContext('canvas', this);
  270. this.targetContext = uni.createCanvasContext('target', this);
  271. },
  272. methods: {
  273. imageLoad: function imageLoad(ev) {
  274. var _this = this;
  275. this.mask.show = true;
  276. this.real.width = ev.detail.width;
  277. this.real.height = ev.detail.height;
  278. this.image.width = ev.detail.width;
  279. this.image.height = ev.detail.height;
  280. this.frame.width = this.width;
  281. this.frame.height = this.height;
  282. if (!this.fixed) {
  283. this.frame.width = this.image.width;
  284. this.frame.height = this.image.height;
  285. }
  286. var query = uni.createSelectorQuery().in(this);
  287. query.select('.body').boundingClientRect(function (data) {
  288. var bw = data.width;
  289. var bh = data.height;
  290. var fw = _this.frame.width;
  291. var fh = _this.frame.height;
  292. var tw = bw * 0.8;
  293. var th = bh * 0.8;
  294. var sx = tw / fw;
  295. var sy = th / fh;
  296. var scale = sx;
  297. if (sx < sy) {
  298. scale = sy;
  299. }
  300. tw = fw * scale;
  301. th = fh * scale;
  302. var tx = (bw - tw) / 2;
  303. var ty = (bh - th) / 2;
  304. _this.frame.width = tw;
  305. _this.frame.height = th;
  306. _this.frame.left = tx;
  307. _this.frame.top = ty;
  308. var iw = _this.image.width;
  309. var ih = _this.image.height;
  310. sx = tw / iw;
  311. sy = th / ih;
  312. scale = sx;
  313. if (sx < sy) {
  314. scale = sy;
  315. }
  316. _this.image.width = iw * scale;
  317. _this.image.height = ih * scale;
  318. _this.image.left = (bw - _this.image.width) / 2;
  319. _this.image.top = (bh - _this.image.height) / 2;
  320. setTimeout(function () {
  321. _this.trimImage();
  322. }, 100);
  323. }).exec();
  324. },
  325. touchHandle: function touchHandle() {},
  326. touchStart: function touchStart(ev, type) {
  327. this.stopTime();
  328. this.mask.show = false;
  329. if (this.touches.length == 0) {
  330. this.type = type;
  331. this.start.frame.left = this.frame.left;
  332. this.start.frame.top = this.frame.top;
  333. this.start.frame.width = this.frame.width;
  334. this.start.frame.height = this.frame.height;
  335. this.start.image.left = this.image.left;
  336. this.start.image.top = this.image.top;
  337. this.start.image.width = this.image.width;
  338. this.start.image.height = this.image.height;
  339. }
  340. var touches = ev.changedTouches;
  341. for (var i = 0; i < touches.length; i++) {
  342. var touch = touches[i];
  343. // this.touches[touch.identifier] = touch;
  344. this.touches.push(touch);
  345. }
  346. },
  347. touchMove: function touchMove(ev) {
  348. this.stopTime();
  349. ev.preventDefault();
  350. var touches = ev.touches;
  351. if (this.touches.length == 1) {
  352. if (this.type == 'plank' || this.type == 'frame' || this.fixed) {
  353. this.moveImage(this.touches[0], touches[0]);
  354. } else {
  355. this.scaleFrame(this.touches[0], touches[0], this.type);
  356. }
  357. } else if (this.touches.length == 2 && touches.length == 2) {
  358. var ta = this.touches[0];
  359. var tb = this.touches[1];
  360. var tc = touches[0];
  361. var td = touches[1];
  362. if (ta.identifier != tc.identifier) {
  363. var temp = tc;
  364. tc = td;
  365. td = temp;
  366. }
  367. this.scaleImage(ta, tb, tc, td);
  368. }
  369. },
  370. touchEnd: function touchEnd(ev) {
  371. this.type = '';
  372. this.touches = [];
  373. this.startTime();
  374. },
  375. touchCancel: function touchCancel(ev) {
  376. this.type = '';
  377. this.touches = [];
  378. this.startTime();
  379. },
  380. startTime: function startTime() {
  381. var _this2 = this;
  382. this.stopTime();
  383. this.timeoutId = setTimeout(function () {
  384. _this2.trimImage();
  385. }, 800);
  386. },
  387. stopTime: function stopTime() {
  388. if (this.timeoutId >= 0) {
  389. clearTimeout(this.timeoutId);
  390. this.timeoutId = -1;
  391. }
  392. },
  393. trimImage: function trimImage() {
  394. var _this3 = this;
  395. this.mask.show = true;
  396. var query = uni.createSelectorQuery().in(this);
  397. query.select('.body').boundingClientRect(function (data) {
  398. var bw = data.width;
  399. var bh = data.height;
  400. var fw = _this3.frame.width;
  401. var fh = _this3.frame.height;
  402. var tw = bw * 0.8;
  403. var th = bh * 0.8;
  404. var sx = tw / fw;
  405. var sy = th / fh;
  406. var scale = sx;
  407. if (sx > sy) {
  408. scale = sy;
  409. }
  410. tw = fw * scale;
  411. th = fh * scale;
  412. var tx = (bw - tw) / 2;
  413. var ty = (bh - th) / 2;
  414. var ax = tx - _this3.frame.left + (_this3.frame.left - _this3.image.left) * (1 - scale);
  415. var ay = ty - _this3.frame.top + (_this3.frame.top - _this3.image.top) * (1 - scale);
  416. _this3.frame.width = tw;
  417. _this3.frame.height = th;
  418. _this3.frame.left = tx;
  419. _this3.frame.top = ty;
  420. _this3.image.width *= scale;
  421. _this3.image.height *= scale;
  422. _this3.image.left += ax;
  423. _this3.image.top += ay;
  424. }).exec();
  425. setTimeout(function () {
  426. var scale = _this3.image.width / _this3.real.width;
  427. var x = (_this3.frame.left - _this3.image.left) / scale;
  428. var y = (_this3.frame.top - _this3.image.top) / scale;
  429. var width = _this3.frame.width / scale;
  430. var height = _this3.frame.height / scale;
  431. _this3.context.drawImage(_this3.url, x, y, width, height, 0, 0, _this3.frame.width, _this3.frame.height);
  432. _this3.context.draw(false);
  433. }, 100);
  434. },
  435. moveImage: function moveImage(ta, tb) {
  436. var ax = tb.clientX - ta.clientX;
  437. var ay = tb.clientY - ta.clientY;
  438. this.image.left = this.start.image.left + ax;
  439. this.image.top = this.start.image.top + ay;
  440. if (this.image.left > this.frame.left) {
  441. this.image.left = this.frame.left;
  442. }
  443. if (this.image.top > this.frame.top) {
  444. this.image.top = this.frame.top;
  445. }
  446. if (this.image.left + this.image.width < this.frame.left + this.frame.width) {
  447. this.image.left = this.frame.left + this.frame.width - this.image.width;
  448. }
  449. if (this.image.top + this.image.height < this.frame.top + this.frame.height) {
  450. this.image.top = this.frame.top + this.frame.height - this.image.height;
  451. }
  452. },
  453. scaleImage: function scaleImage(ta, tb, tc, td) {
  454. var x1 = ta.clientX;
  455. var y1 = ta.clientY;
  456. var x2 = tb.clientX;
  457. var y2 = tb.clientY;
  458. var x3 = tc.clientX;
  459. var y3 = tc.clientY;
  460. var x4 = td.clientX;
  461. var y4 = td.clientY;
  462. var ol = Math.sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2));
  463. var el = Math.sqrt((x3 - x4) * (x3 - x4) + (y3 - y4) * (y3 - y4));
  464. var ocx = (x1 + x2) / 2;
  465. var ocy = (y1 + y2) / 2;
  466. var ecx = (x3 + x4) / 2;
  467. var ecy = (y3 + y4) / 2;
  468. var ax = ecx - ocx;
  469. var ay = ecy - ocy;
  470. var scale = el / ol;
  471. if (this.start.image.width * scale < this.frame.width) {
  472. scale = this.frame.width / this.start.image.width;
  473. }
  474. if (this.start.image.height * scale < this.frame.height) {
  475. scale = this.frame.height / this.start.image.height;
  476. }
  477. if (this.start.image.width * scale < this.frame.width) {
  478. scale = this.frame.width / this.start.image.width;
  479. }
  480. this.image.left = this.start.image.left + ax - (ocx - this.start.image.left) * (scale - 1);
  481. this.image.top = this.start.image.top + ay - (ocy - this.start.image.top) * (scale - 1);
  482. this.image.width = this.start.image.width * scale;
  483. this.image.height = this.start.image.height * scale;
  484. if (this.image.left > this.frame.left) {
  485. this.image.left = this.frame.left;
  486. }
  487. if (this.image.top > this.frame.top) {
  488. this.image.top = this.frame.top;
  489. }
  490. if (this.image.left + this.image.width < this.frame.left + this.frame.width) {
  491. this.image.left = this.frame.left + this.frame.width - this.image.width;
  492. }
  493. if (this.image.top + this.image.height < this.frame.top + this.frame.height) {
  494. this.image.top = this.frame.top + this.frame.height - this.image.height;
  495. }
  496. },
  497. scaleFrame: function scaleFrame(ta, tb, type) {
  498. var ax = tb.clientX - ta.clientX;
  499. var ay = tb.clientY - ta.clientY;
  500. var x1 = this.start.frame.left;
  501. var y1 = this.start.frame.top;
  502. var x2 = this.start.frame.left + this.start.frame.width;
  503. var y2 = this.start.frame.top + this.start.frame.height;
  504. if (type == 'left') {
  505. x1 += ax;
  506. } else if (type == 'right') {
  507. x2 += ax;
  508. } else if (type == 'top') {
  509. y1 += ay;
  510. } else if (type == 'bottom') {
  511. y2 += ay;
  512. } else if (type == 'left-top') {
  513. x1 += ax;
  514. y1 += ay;
  515. } else if (type == 'left-bottom') {
  516. x1 += ax;
  517. y2 += ay;
  518. } else if (type == 'right-top') {
  519. x2 += ax;
  520. y1 += ay;
  521. } else if (type == 'right-bottom') {
  522. x2 += ax;
  523. y2 += ay;
  524. }
  525. if (x1 < this.image.left) {
  526. x1 = this.image.left;
  527. }
  528. if (y1 < this.image.top) {
  529. y1 = this.image.top;
  530. }
  531. if (x2 > this.image.left + this.image.width) {
  532. x2 = this.image.left + this.image.width;
  533. }
  534. if (y2 > this.image.top + this.image.height) {
  535. y2 = this.image.top + this.image.height;
  536. }
  537. this.frame.left = x1;
  538. this.frame.top = y1;
  539. this.frame.width = x2 - x1;
  540. this.frame.height = y2 - y1;
  541. },
  542. parseBlob: function parseBlob(base64) {
  543. var arr = base64.split(',');
  544. var mime = arr[0].match(/:(.*?);/)[1];
  545. var bstr = atob(arr[1]);
  546. var n = bstr.length;
  547. var u8arr = new Uint8Array(n);
  548. for (var i = 0; i < n; i++) {
  549. u8arr[i] = bstr.charCodeAt(i);
  550. }
  551. var url = URL || webkitURL;
  552. return url.createObjectURL(new Blob([u8arr], {
  553. type: mime
  554. }));
  555. },
  556. onok: function onok() {
  557. var _this4 = this;
  558. var scale = this.image.width / this.real.width;
  559. var x = (this.frame.left - this.image.left) / scale;
  560. var y = (this.frame.top - this.image.top) / scale;
  561. var width = this.frame.width / scale;
  562. var height = this.frame.height / scale;
  563. var tw = width;
  564. var th = height;
  565. if (this.fixed) {
  566. tw = this.width / 2;
  567. th = this.height / 2;
  568. } else {
  569. if (tw > this.maxWidth / 2) {
  570. var sc = this.maxWidth / 2 / tw;
  571. tw = tw * sc;
  572. th = th * sc;
  573. }
  574. if (th > this.maxHeight / 2) {
  575. var sc = this.maxHeight / 2 / th;
  576. th = th * sc;
  577. tw = tw * sc;
  578. }
  579. }
  580. this.target.width = tw;
  581. this.target.height = th;
  582. uni.showLoading({
  583. title: '正在裁剪'
  584. });
  585. setTimeout(function () {
  586. _this4.targetContext.drawImage(_this4.url, x, y, width, height, 0, 0, tw, th);
  587. _this4.targetContext.draw(false, function () {
  588. uni.canvasToTempFilePath({
  589. canvasId: 'target',
  590. success: function success(res) {
  591. var path = res.tempFilePath;
  592. _this4.$emit('ok', {
  593. path: path
  594. });
  595. },
  596. fail: function fail(ev) {
  597. console.log(ev);
  598. },
  599. complete: function complete() {
  600. uni.hideLoading();
  601. }
  602. }, _this4);
  603. });
  604. }, 100);
  605. },
  606. oncancle: function oncancle() {
  607. this.$emit('cancel');
  608. }
  609. }
  610. };
  611. exports.default = _default;
  612. /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"]))
  613. /***/ }),
  614. /***/ 1163:
  615. /*!***************************************************************************************************************************************!*\
  616. !*** F:/project/bigdata_WX/components/ksp-image-cutter/ksp-image-cutter.vue?vue&type=style&index=0&id=4e360878&scoped=true&lang=css& ***!
  617. \***************************************************************************************************************************************/
  618. /*! no static exports found */
  619. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  620. "use strict";
  621. __webpack_require__.r(__webpack_exports__);
  622. /* harmony import */ var _G_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_G_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_2_G_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_ksp_image_cutter_vue_vue_type_style_index_0_id_4e360878_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!./node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-oneOf-1-2!./node_modules/postcss-loader/src??ref--6-oneOf-1-3!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./ksp-image-cutter.vue?vue&type=style&index=0&id=4e360878&scoped=true&lang=css& */ 1164);
  623. /* harmony import */ var _G_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_G_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_2_G_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_ksp_image_cutter_vue_vue_type_style_index_0_id_4e360878_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_G_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_G_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_2_G_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_ksp_image_cutter_vue_vue_type_style_index_0_id_4e360878_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__);
  624. /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _G_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_G_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_2_G_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_ksp_image_cutter_vue_vue_type_style_index_0_id_4e360878_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _G_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_G_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_2_G_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_ksp_image_cutter_vue_vue_type_style_index_0_id_4e360878_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
  625. /* harmony default export */ __webpack_exports__["default"] = (_G_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_G_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_2_G_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_G_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_ksp_image_cutter_vue_vue_type_style_index_0_id_4e360878_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default.a);
  626. /***/ }),
  627. /***/ 1164:
  628. /*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  629. !*** ./node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-oneOf-1-2!./node_modules/postcss-loader/src??ref--6-oneOf-1-3!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!F:/project/bigdata_WX/components/ksp-image-cutter/ksp-image-cutter.vue?vue&type=style&index=0&id=4e360878&scoped=true&lang=css& ***!
  630. \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
  631. /*! no static exports found */
  632. /***/ (function(module, exports, __webpack_require__) {
  633. // extracted by mini-css-extract-plugin
  634. if(false) { var cssReload; }
  635. /***/ })
  636. }]);
  637. //# sourceMappingURL=../../../.sourcemap/mp-weixin/components/ksp-image-cutter/ksp-image-cutter.js.map
  638. ;(global["webpackJsonp"] = global["webpackJsonp"] || []).push([
  639. 'components/ksp-image-cutter/ksp-image-cutter-create-component',
  640. {
  641. 'components/ksp-image-cutter/ksp-image-cutter-create-component':(function(module, exports, __webpack_require__){
  642. __webpack_require__('2')['createComponent'](__webpack_require__(1158))
  643. })
  644. },
  645. [['components/ksp-image-cutter/ksp-image-cutter-create-component']]
  646. ]);