1. 程式人生 > 實用技巧 >2020 Multi-University Training Contest 8 解題報告

2020 Multi-University Training Contest 8 解題報告

下載
VueCroppie VueCroppie是一個Vue 2包裝Croppie一個美麗的照片裁剪工具的Javascript由foliotek。 安裝 NPM 安裝vue-croppie—儲存 CDN https://unpkg.com/vue-croppie/dist/vue-croppie.js 使用

import Vue from 'vue';
import VueCroppie from 'vue-croppie';

Vue.use(VueCroppie);

& lt;指令碼src = " https://unpkg.com/vue-croppie/dist/vue-croppie.js "比; & lt; body> … & lt; / body> & lt; script> Vue.use (VueCroppie.default); const vm = new Vue({…}); & lt; / script> 樣本 下面的示例將生成此內容。

<template>
    <div>
        <!-- Note that 'ref' is important here (value can be anything). read the description about `ref` below. -->
        <vue-croppie 
            ref=croppieRef 
            :enableOrientation="true"
            @result="result"
            @update="update">
        </vue-croppie>

        <!-- the result -->
        <img v-bind:src="cropped">

        <button @click="bind()">Bind</button>
        <!-- Rotate angle is Number -->
        <button @click="rotate(-90)">Rotate Left</button>
        <button @click="rotate(90)">Rotate Right</button>
        <button @click="crop()">Crop Via Callback</button>
        <button @click="cropViaEvent()">Crop Via Event</button>
    </div>
</template>

<script>
export default {
    mounted() {
        // Upon mounting of the component, we accessed the .bind({...})
        // function to put an initial image on the canvas.
        this.$refs.croppieRef.bind({
            url: 'http://i.imgur.com/Fq2DMeH.jpg',
        })
    },
    data() {
        return {
            cropped: null,
            images: [
                'http://i.imgur.com/fHNtPXX.jpg',
                'http://i.imgur.com/ecMUngU.jpg',
                'http://i.imgur.com/7oO6zrh.jpg',
                'http://i.imgur.com/miVkBH2.jpg'
            ]
        }
    },
    methods: {
        bind() {
            // Randomize cat photos, nothing special here.
            let url = this.images[Math.floor(Math.random() * 4)]

            // Just like what we did with .bind({...}) on 
            // the mounted() function above.
            this.$refs.croppieRef.bind({
                url: url,
            });
        },
        // CALBACK USAGE
        crop() {
            // Here we are getting the result via callback function
            // and set the result to this.cropped which is being 
            // used to display the result above.
            let options = {
                format: 'jpeg', 
                circle: true
            }
            this.$refs.croppieRef.result(options, (output) => {
                this.cropped = output;
            });
        },
        // EVENT USAGE
        cropViaEvent() {
            this.$refs.croppieRef.result(options);
        },
        result(output) {
            this.cropped = output;
        },
        update(val) {
            console.log(val);
        },
        rotate(rotationAngle) {
            // Rotates the image
            this.$refs.croppieRef.rotate(rotationAngle);
        }
    }
}
</script>

利用期權 所有Croppie選項被轉換成道具,以便能夠在vue-croppie元件中使用它們。 使用 & lt; vue-croppie ref = croppieRef : enableOrientation = " true " : mouseWheelZoom = " false " :viewport="{width: 200, height: 200, type: 'circle'}" @result = " fn " 比; & lt; / vue-croppie> API 所有的屬性和方法都基於農作物文件。如果你明白我的意思,那麼所有的屬性和方法名都是"==="。 除了下面的幾件事。 選項 型別 預設的 描述 裁判(必需) 物件 沒有一個 ref用於建立對子元件的引用,以便訪問它的方法和屬性。具體的例子是從元件外部訪問vue-croppie的result()函式。 resultType 字串 base64 通過result()對被裁剪的影象進行編碼。也可在Croppie文件。 customClass 字串 沒有一個 您可以傳遞一個或多個自定義類到道具customClass,如customClass="class1 class2 class3" 事件 選項 型別 使用 描述 更新 函式 @update = " fn " 當作物元素被縮放、拖動或裁剪時觸發 結果 函式 @result = " fn " 當影象被裁剪時觸發。返回裁剪的影象。 注意: $ref . croppieref .result({}). $ref . croppieref .result(})。在這裡看到的 常見問題解答 如何清除/銷燬副本? 我添加了一個名為refresh()的新方法,可以這樣使用。$ref . croppierefs .refresh(),但是croppie例項現在會在每次呼叫crop()後自動重新整理。 有用的連結 358 -官方農作物網頁。 更新 1.3.0 - 2017年8月16日 新增webpack構建 修復# 5 修復# 14 1.2.5 - 2017年8月12日 裁剪的影象輸出現在可以通過vue事件檢索。 新增結果事件。 新增更新的事件。 1.2.3 增加了每次呼叫crop()後自動重新整理croppie例項的功能。 新的方法refresh(),它會破壞和重新建立croppie例項。 1.2.x 結果選項現在通過this.$ref . croppieref傳遞。結果(選擇,回撥)。 許可證 麻省理工學院 使用和濫用自負風險。 & lt; / p>與❤️Jofferson Ramirez Tiquez本文轉載於:http://www.diyabc.com/frontweb/news33284.html