123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594 |
- (global["webpackJsonp"] = global["webpackJsonp"] || []).push([["components/invinbg-image-cropper/invinbg-image-cropper"],{
- /***/ 423:
- /*!*****************************************************************************************************!*\
- !*** D:/meloinfo/sugarpark-mini-program/components/invinbg-image-cropper/invinbg-image-cropper.vue ***!
- \*****************************************************************************************************/
- /*! no static exports found */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- /* harmony import */ var _invinbg_image_cropper_vue_vue_type_template_id_02b3d9d8_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./invinbg-image-cropper.vue?vue&type=template&id=02b3d9d8&scoped=true& */ 424);
- /* harmony import */ var _invinbg_image_cropper_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./invinbg-image-cropper.vue?vue&type=script&lang=js& */ 426);
- /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _invinbg_image_cropper_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _invinbg_image_cropper_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));
- /* harmony import */ var _invinbg_image_cropper_vue_vue_type_style_index_0_id_02b3d9d8_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./invinbg-image-cropper.vue?vue&type=style&index=0&id=02b3d9d8&scoped=true&lang=css& */ 428);
- /* harmony import */ var _HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 9);
- var renderjs
- /* normalize component */
- var component = Object(_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])(
- _invinbg_image_cropper_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"],
- _invinbg_image_cropper_vue_vue_type_template_id_02b3d9d8_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"],
- _invinbg_image_cropper_vue_vue_type_template_id_02b3d9d8_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"],
- false,
- null,
- "02b3d9d8",
- null,
- false,
- _invinbg_image_cropper_vue_vue_type_template_id_02b3d9d8_scoped_true___WEBPACK_IMPORTED_MODULE_0__["components"],
- renderjs
- )
- component.options.__file = "components/invinbg-image-cropper/invinbg-image-cropper.vue"
- /* harmony default export */ __webpack_exports__["default"] = (component.exports);
- /***/ }),
- /***/ 424:
- /*!************************************************************************************************************************************************!*\
- !*** D:/meloinfo/sugarpark-mini-program/components/invinbg-image-cropper/invinbg-image-cropper.vue?vue&type=template&id=02b3d9d8&scoped=true& ***!
- \************************************************************************************************************************************************/
- /*! exports provided: render, staticRenderFns, recyclableRender, components */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- /* harmony import */ var _HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_16_0_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_invinbg_image_cropper_vue_vue_type_template_id_02b3d9d8_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--16-0!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./invinbg-image-cropper.vue?vue&type=template&id=02b3d9d8&scoped=true& */ 425);
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_16_0_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_invinbg_image_cropper_vue_vue_type_template_id_02b3d9d8_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"]; });
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_16_0_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_invinbg_image_cropper_vue_vue_type_template_id_02b3d9d8_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; });
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_16_0_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_invinbg_image_cropper_vue_vue_type_template_id_02b3d9d8_scoped_true___WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; });
- /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_16_0_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_invinbg_image_cropper_vue_vue_type_template_id_02b3d9d8_scoped_true___WEBPACK_IMPORTED_MODULE_0__["components"]; });
- /***/ }),
- /***/ 425:
- /*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
- !*** ./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--16-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!D:/meloinfo/sugarpark-mini-program/components/invinbg-image-cropper/invinbg-image-cropper.vue?vue&type=template&id=02b3d9d8&scoped=true& ***!
- \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
- /*! exports provided: render, staticRenderFns, recyclableRender, components */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; });
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; });
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; });
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; });
- var components
- var render = function() {
- var _vm = this
- var _h = _vm.$createElement
- var _c = _vm._self._c || _h
- }
- var recyclableRender = false
- var staticRenderFns = []
- render._withStripped = true
- /***/ }),
- /***/ 426:
- /*!******************************************************************************************************************************!*\
- !*** D:/meloinfo/sugarpark-mini-program/components/invinbg-image-cropper/invinbg-image-cropper.vue?vue&type=script&lang=js& ***!
- \******************************************************************************************************************************/
- /*! no static exports found */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- /* harmony import */ var _HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_invinbg_image_cropper_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--12-1!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./invinbg-image-cropper.vue?vue&type=script&lang=js& */ 427);
- /* harmony import */ var _HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_invinbg_image_cropper_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_invinbg_image_cropper_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__);
- /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_invinbg_image_cropper_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_invinbg_image_cropper_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
- /* harmony default export */ __webpack_exports__["default"] = (_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_12_1_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_invinbg_image_cropper_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a);
- /***/ }),
- /***/ 427:
- /*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
- !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--12-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!D:/meloinfo/sugarpark-mini-program/components/invinbg-image-cropper/invinbg-image-cropper.vue?vue&type=script&lang=js& ***!
- \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
- "use strict";
- /* WEBPACK VAR INJECTION */(function(uni) {Object.defineProperty(exports, "__esModule", { value: true });exports.default = void 0; //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- //
- var _default =
- {
- name: 'image-cropper',
- props: {
- cropWidth: {
- type: Number,
- default: 200 },
- cropHeight: {
- type: Number,
- default: 200 },
- cropFixed: {
- type: Boolean,
- default: false },
- src: {
- type: String },
- showResetBtn: {
- type: Boolean,
- default: true },
- showRotateBtn: {
- type: Boolean,
- default: true } },
- data: function data() {
- var sysInfo = uni.getSystemInfoSync();
- var pixelRatio = sysInfo.pixelRatio;
- return {
- show: false,
- scale: 1,
- rotate: 0,
- cropW: 0,
- cropH: 0,
- cropOldW: 0,
- cropOldH: 0,
- sysInfo: sysInfo,
- pixelRatio: pixelRatio,
- imageRealWidth: 0,
- imageRealHeight: 0,
- cropOffsertX: 0,
- cropOffsertY: 0,
- startX: 0,
- startY: 0,
- // 裁剪框与边界间距
- border: 5,
- x: 0,
- y: 0,
- startL: 0,
- oldScale: 1 };
- },
- watch: {
- src: function src(val) {
- if (val.length > 0) {
- this.init();
- }
- },
- show: function show(val) {
- if (!val) {
- this.src = '';
- }
- } },
- computed: {
- containerTop: function containerTop() {
- var top = 0;
- return top;
- },
- // 容器高度
- containerHeight: function containerHeight() {
- return this.windowHeight - 48;
- },
- // 屏幕宽度
- windowWidth: function windowWidth() {
- return this.sysInfo.windowWidth;
- },
- windowHeight: function windowHeight() {
- return this.sysInfo.windowHeight;
- },
- // 图片宽高比
- imageRatio: function imageRatio() {
- if (this.imageRealHeight > 0) {
- return this.imageRealWidth / this.imageRealHeight;
- }
- return 0;
- },
- // 等比缩放后的宽度
- imageWidth: function imageWidth() {
- if (this.imageRatio >= 1) {
- return this.windowWidth;
- }
- return this.windowWidth * this.imageRatio;
- },
- // 等比缩放后的高度
- imageHeight: function imageHeight() {
- if (this.imageRatio >= 1) {
- return this.windowWidth / this.imageRatio;
- }
- return this.windowWidth;
- } },
- methods: {
- rotateHandler: function rotateHandler() {
- if (this.rotate == 3) {
- this.rotate = 0;
- } else {
- ++this.rotate;
- }
- },
- init: function init() {
- this.rotate = 0;
- this.scale = 1;
- this.cropW = this.cropWidth;
- this.cropH = this.cropHeight;
- uni.showLoading({
- title: '图片加载中...' });
- this.loadImage(this.src).then(function (e) {
- uni.hideLoading();
- }).catch(function (e) {
- uni.hideLoading();
- uni.showModal({
- title: '标题',
- content: '图片加载失败' });
- });
- },
- loadImage: function loadImage(src) {
- var _this = this;
- return new Promise(function (resolve, reject) {
- uni.getImageInfo({
- src: src,
- success: function success(res) {
- _this.imageRealWidth = res.width;
- _this.imageRealHeight = res.height;
- _this.cropOffsertX = _this.windowWidth / 2 - _this.cropW / 2;
- _this.cropOffsertY = _this.windowHeight / 2 - _this.cropH / 2;
- _this.show = true;
- _this.$nextTick(function () {
- _this.x = _this.windowWidth / 2 - _this.imageWidth / 2;
- _this.y = _this.containerHeight / 2 - _this.imageHeight / 2;
- });
- resolve(res);
- },
- fail: function fail(e) {
- _this.show = false;
- reject(e);
- } });
- });
- },
- cancel: function cancel() {
- this.show = false;
- this.$emit('cancel');
- },
- confirm: function confirm(event) {
- uni.showLoading({
- title: '裁剪中...' });
- var _this = this;
- var ctx = uni.createCanvasContext('myCanvas', _this);
- var pixelRatio = _this.pixelRatio;
- var imgage = _this.src;
- var imgW = _this.imageWidth * _this.scale;
- var imgH = _this.imageHeight * _this.scale;
- var rotate = _this.rotate;
- var dx = _this.cropOffsertX - _this.x - (_this.imageWidth - imgW) / 2;
- var dy = _this.cropOffsertY - _this.y - (_this.imageHeight - imgH) / 2;
- ctx.setFillStyle('white');
- ctx.fillRect(0, 0, imgW, imgH);
- ctx.save();
- ctx.rotate(rotate * 90 * Math.PI / 180);
- switch (rotate) {
- case 1:
- dx += (imgH - imgW) / 2;
- dy -= (imgH - imgW) / 2;
- ctx.drawImage(imgage, -dy, dx, imgW, -imgH);
- break;
- case 2:
- ctx.drawImage(imgage, dx, dy, -imgW, -imgH);
- break;
- case 3:
- dx += (imgH - imgW) / 2;
- dy -= (imgH - imgW) / 2;
- ctx.drawImage(imgage, dy, -dx, -imgW, imgH);
- break;
- default:
- ctx.drawImage(imgage, -dx, -dy, imgW, imgH);
- break;}
- ctx.restore();
- ctx.draw(false, function () {
- uni.canvasToTempFilePath({
- canvasId: 'myCanvas',
- destWidth: _this.cropW * pixelRatio,
- destHeight: _this.cropH * pixelRatio,
- success: function success(res) {
- uni.hideLoading();
- event.detail.tempFilePath = res.tempFilePath;
- _this.show = false;
- _this.$emit('confirm', event);
- },
- fail: function fail(e) {
- uni.hideLoading();
- uni.showModal({
- title: '提示',
- content: '裁剪失败' });
- } },
- _this);
- });
- },
- imgTouchStart: function imgTouchStart(e) {
- if (e.touches.length == 2) {
- this.oldScale = this.scale;
- this.scaling = true;
- var x = e.touches[0].pageX - e.touches[1].pageX;
- var y = e.touches[0].pageY - e.touches[1].pageY;
- var hypotenuse = Math.sqrt(
- Math.pow(x, 2) +
- Math.pow(y, 2));
- this.startL = Math.max(x, y, hypotenuse);
- uni.showModal({
- content: this.startL });
- } else {
- this.startX = e.touches[0].pageX - this.x;
- this.startY = e.touches[0].pageY - this.y;
- }
- },
- imgMoveing: function imgMoveing(e) {
- if (this.scaling) {
- var scale = this.oldScale;
- var x = e.touches[0].pageX - e.touches[1].pageX;
- var y = e.touches[0].pageY - e.touches[1].pageY;
- var hypotenuse = Math.sqrt(
- Math.pow(x, 2) +
- Math.pow(y, 2));
- var newL = Math.max(x, y, hypotenuse);
- var cha = newL - this.startL;
- // 根据图片本身大小 决定每次改变大小的系数, 图片越大系数越小
- // 1px - 0.2
- var coe = 1;
- coe =
- coe / this.imageWidth > coe / this.imageHeight ?
- coe / this.imageHeight :
- coe / this.imageWidth;
- coe = coe > 0.1 ? 0.1 : coe;
- var num = coe * cha;
- if (cha > 0) {
- scale += Math.abs(num);
- } else if (cha < 0) {
- scale > Math.abs(num) ? scale -= Math.abs(num) : scale;
- }
- this.scale = scale;
- } else {
- var moveX = e.touches[0].pageX - this.startX;
- var moveY = e.touches[0].pageY - this.startY;
- this.x = moveX;
- this.y = moveY;
- }
- },
- imgMoveEnd: function imgMoveEnd() {var _this2 = this;
- setTimeout(function () {
- _this2.scaling = false;
- }, 100);
- },
- touchStart: function touchStart(e) {
- this.startX = e.touches[0].pageX - this.cropOffsertX;
- this.startY = e.touches[0].pageY - this.cropOffsertY;
- this.cropOldW = this.cropW;
- this.cropOldH = this.cropH;
- },
- cropMoveing: function cropMoveing(e) {
- var moveX = this._cropX(e.touches[0].pageX - this.startX);
- var moveY = this._cropY(e.touches[0].pageY - this.startY);
- this.cropOffsertX = moveX;
- this.cropOffsertY = moveY;
- },
- dragMove: function dragMove(e, type) {
- if (this.cropFixed) {
- return false;
- }
- var moveX = e.touches[0].pageX - this.startX;
- var moveY = e.touches[0].pageY - this.startY;
- switch (type) {
- case 'left-top':
- this._cropMoveLeft(moveX);
- this._cropMoveTop(moveY);
- break;
- case 'middle-top':
- this._cropMoveTop(moveY);
- break;
- case 'right-top':
- this._cropMoveTop(moveY);
- this._cropMoveRight(moveX);
- break;
- case 'middle-right':
- this._cropMoveRight(moveX);
- break;
- case 'right-bottom':
- this._cropMoveRight(moveX);
- this._cropMoveBottom(moveY);
- break;
- case 'middle-bottom':
- this._cropMoveBottom(moveY);
- break;
- case 'left-bottom':
- this._cropMoveBottom(moveY);
- this._cropMoveLeft(moveX);
- break;
- case 'middle-left':
- this._cropMoveLeft(moveX);
- break;
- default:
- break;}
- },
- _cropMoveTop: function _cropMoveTop(y) {
- var topY = this._cropY(y);
- this.cropH += this.cropOffsertY - topY;
- this.cropOffsertY = topY;
- },
- _cropMoveRight: function _cropMoveRight(x) {
- if (this.cropOldW + x >= this.windowWidth - this.border) {
- return false;
- }
- this.cropW = this.cropOldW + (x - this.cropOffsertX);
- },
- _cropMoveBottom: function _cropMoveBottom(y) {
- if (this.cropOldH + y >= this.windowHeight - this.containerTop - this.border) {
- return false;
- }
- this.cropH = this.cropOldH + (y - this.cropOffsertY);
- },
- _cropMoveLeft: function _cropMoveLeft(x) {
- var leftX = this._cropY(x);
- this.cropW += this.cropOffsertX - leftX;
- this.cropOffsertX = leftX;
- },
- _cropX: function _cropX(x) {
- if (x <= this.border) {
- return this.border;
- }
- if (x + this.cropW >= this.windowWidth - this.border) {
- return this.windowWidth - this.cropW - this.border;
- }
- return x;
- },
- _cropY: function _cropY(y) {
- if (y <= this.border) {
- return this.border;
- }
- if (y + this.cropH >= this.windowHeight - this.containerTop - this.border) {
- return this.windowHeight - this.cropH - this.containerTop - this.border;
- }
- return y;
- } } };exports.default = _default;
- /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 1)["default"]))
- /***/ }),
- /***/ 428:
- /*!**************************************************************************************************************************************************************!*\
- !*** D:/meloinfo/sugarpark-mini-program/components/invinbg-image-cropper/invinbg-image-cropper.vue?vue&type=style&index=0&id=02b3d9d8&scoped=true&lang=css& ***!
- \**************************************************************************************************************************************************************/
- /*! no static exports found */
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- /* harmony import */ var _HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_2_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_invinbg_image_cropper_vue_vue_type_style_index_0_id_02b3d9d8_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-oneOf-1-2!../../../../HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src??ref--6-oneOf-1-3!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./invinbg-image-cropper.vue?vue&type=style&index=0&id=02b3d9d8&scoped=true&lang=css& */ 429);
- /* harmony import */ var _HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_2_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_invinbg_image_cropper_vue_vue_type_style_index_0_id_02b3d9d8_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_2_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_invinbg_image_cropper_vue_vue_type_style_index_0_id_02b3d9d8_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__);
- /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_2_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_invinbg_image_cropper_vue_vue_type_style_index_0_id_02b3d9d8_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== 'default') (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_2_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_invinbg_image_cropper_vue_vue_type_style_index_0_id_02b3d9d8_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));
- /* harmony default export */ __webpack_exports__["default"] = (_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_2_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_invinbg_image_cropper_vue_vue_type_style_index_0_id_02b3d9d8_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default.a);
- /***/ }),
- /***/ 429:
- /*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
- !*** ./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!D:/meloinfo/sugarpark-mini-program/components/invinbg-image-cropper/invinbg-image-cropper.vue?vue&type=style&index=0&id=02b3d9d8&scoped=true&lang=css& ***!
- \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
- /*! no static exports found */
- /***/ (function(module, exports, __webpack_require__) {
- // extracted by mini-css-extract-plugin
- if(false) { var cssReload; }
-
- /***/ })
- }]);
- //# sourceMappingURL=../../../.sourcemap/mp-weixin/components/invinbg-image-cropper/invinbg-image-cropper.js.map
- ;(global["webpackJsonp"] = global["webpackJsonp"] || []).push([
- 'components/invinbg-image-cropper/invinbg-image-cropper-create-component',
- {
- 'components/invinbg-image-cropper/invinbg-image-cropper-create-component':(function(module, exports, __webpack_require__){
- __webpack_require__('1')['createComponent'](__webpack_require__(423))
- })
- },
- [['components/invinbg-image-cropper/invinbg-image-cropper-create-component']]
- ]);
|