Vue 画像切り抜きコンポーネントのサンプルコード

Vue 画像切り抜きコンポーネントのサンプルコード

例:

ヒント:このコンポーネントはvue-cropperの二次パッケージに基づいています

プラグインをインストールする

npm インストール vue-cropper

糸を追加 vue-cropper

パッケージ化されたコンポーネントを書く

<!-- シンプルな画像切り抜きコンポーネント--- 二次パッケージング-->
<!-- その他の API https://github.com/xyxiao001/vue-cropper -->
<!-- 使用法: 表示または非表示にする画像の比率を渡します。方法: 下部のボタンのクリックをリッスンします --- 自分でプロパティ クエリ ドキュメントを追加します -->

<テンプレート>
  <div v-if="value" :value="value" @input="val => $emit('input', val)" class="conbox">
    <div class="info">
      <vueクロッパー
        ref="クロッパー"
        :img="画像"
        :outputSize="出力サイズ"
        :outputType="出力タイプ"
        :info="情報"
        :canScale="canScale"
        :autoCrop="自動クロップ"
        :fixed="固定"
        :fixedNumber="固定数"
        :full="フル"
        :fixedBox="固定ボックス"
        :canMove="移動可能"
        :canMoveBox="canMoveBox"
        :original="オリジナル"
        :centerBox="センターボックス"
        :infoTrue="情報True"
        :mode="モード"
      </vueクロッパー>
    </div>
    <div class="btns">
      <div @click="clickCancelCut" class="cancel">キャンセル</div>
      <img @click="clickRotate" src="../../assets/paradise/rotate.png" alt="" />
      <div @click="clickOk" class="okey">OK</div>
    </div>
  </div>
</テンプレート>

<スクリプト>
'vue-cropper' から VueCropper をインポートします。
エクスポートデフォルト{
  名前: 'PictureCropping'、
  コンポーネント: { VueCropper },
  小道具: {
    価値: {
      タイプ: ブール値、
      デフォルト: false、
    },
    //画像アドレスをトリミングimg: {
      タイプ: 文字列、
      デフォルト: ''、
    },
    //スクリーンショットフレームのアスペクト比 fixedNumber: {
      タイプ: 配列、
      デフォルト: () => {
        [1, 1]を返します。
      },
    },
  },
  データ() {
    戻る {
      // クロッピングコンポーネントの基本設定オプション
      : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :
  },
  計算: {},
  時計: {}、
  //ライフサイクル - 作成完了(現在の this インスタンスにアクセス)
  作成された() {},
  //ライフサイクル - マウント完了(DOM要素にアクセス)
  マウント() {},
  メソッド: {
    クリックキャンセルカット() {
      this.$emit('clickCancelCut', 'キャンセルするにはクリック');
      this.$refs.cropper.stopCrop();
      this.$refs.cropper.clearCrop();
    },
    クリック回転() {
      this.$refs.cropper.rotateRight();
      this.$emit('clickRotate', 'クリックして回転します');
    },
    クリックOK() {
      //トリミングされたbase64を出力
      this.$refs.cropper.getCropData(データ => {
        this.$emit('clickOk', データ);
        this.$refs.cropper.stopCrop();
        this.$refs.cropper.clearCrop();
      });
    },
  },
};
</スクリプト>
<style lang='less' スコープ>
/* @import url(); CSS クラスをインポート*/
.コンボックス{
  位置: 固定;
  上: 0;
  右: 0;
  下部: 0;
  左: 0;
  ボックスのサイズ: 境界線ボックス;
  高さ:100vh;
  幅: 100%;
  背景色: #000;
  ディスプレイ: フレックス;
  flex-direction: 列;
  コンテンツの中央揃え: 中央;
  。情報 {
    幅: 自動;
    高さ: 800ピクセル;
    .vue-クロッパー{
      背景画像: なし;
      背景色: #000;
    }
  }
  .btns{
    パディング: 0 20px;

    色: #fff;
    テキスト配置: 中央;
    ディスプレイ: フレックス;
    コンテンツの両端揃え: スペースの間;
    アイテムの位置を中央揃えにします。
    位置: 絶対;
    左: 0;
    右: 0;
    下: 15px;
    画像 {
      幅: 85px;
      高さ: 85px;
    }
    。キャンセル {
      背景色: #606465;
      パディング: 15px 20px;
      幅: 100ピクセル;
      境界線の半径: 10px;
    }
    .オキー{
      背景色: #df6457;
      パディング: 15px 20px;
      幅: 100ピクセル;
      境界線の半径: 10px;
    }
  }
}
</スタイル>

要約する

Vue イメージ クロッピング コンポーネントに関するこの記事はこれで終わりです。Vue イメージ クロッピング コンポーネントに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Vueプロジェクトは画像切り抜きコンポーネントの追加を実装します
  • Vue画像切り抜きプラグインvue-cropperの使い方を詳しく説明します
  • Vueは写真を切り取ってアップロードすることを実現
  • Vue 画像の切り取りとアップロードコンポーネントの実装
  • Vueプロジェクトで画像切り抜き機能を実装する詳細な説明
  • vue-image-cropは、Vueをベースにしたモバイル画像切り抜きコンポーネントの例です。
  • Vue-cropper 画像切り抜きの基本原理とアイデア
  • Vue を cropper.js ベースでカプセル化し、オンライン画像切り抜きコンポーネント機能を実現する
  • Vue ベースの画像切り抜きとアップロード機能の Cropper js 実装コード
  • VueプロジェクトのElementUIコンポーネントにおけるel-uploadコンポーネントと画像切り取り機能コンポーネントの使い方の詳しい説明

<<:  VMwareがwin10ホームバージョンに64ビットオペレーティングシステムをインストールできない問題を解決します

>>:  MySQL に配列を保存するサンプルコードと方法

推薦する

Ubuntu 18.04 システムでの Redis および phpredis 拡張機能のインストールと設定の詳細な説明

この記事では、Ubuntu 18.04 に Redis と phpredis 拡張機能をインストール...

nginx で HSTS を有効にしてブラウザを HTTPS アクセスにリダイレクトする方法の詳細な説明

前回の記事では、https を使用したローカルノードサービスアクセスを実装しました。前回の記事の効果...

Vue コンポーネントはどのように解析され、レンダリングされるのでしょうか?

序文この記事では、Vue コンポーネントがどのように解析され、レンダリングされるかを説明します。 V...

Docker が PostgreSQL を起動するときに複数のデータベースを作成するためのソリューション

1 はじめに「DockerでPostgreSQLを起動する方法といくつかの接続ツールのおすすめ」の記...

ServerSocketのデフォルトIPバインディングの実装プロセスの詳細な説明

開発中にサーバーを起動する必要がある場合、ローカルテストではポートを直接書き込み、実際の環境ではバイ...

MySQL の重複データの処理方法 (防止と削除)

一部の MySQL テーブルには重複レコードが含まれている場合があります。重複データが存在することを...

きれいなJavaScriptコードの書き方を教える記事

目次1. 変数意味のある名前を使う不必要なコンテキストを追加しないようにするハードコードされた値を避...

HTML でスクロールバーを使用する際のヒントを共有する

今日、牛南ニュースリリースシステムについて学んでいたとき、牛南先生はスクロールバーに関するいくつかの...

Vue の computed と watch の違いを分析する

目次1. 計算入門1.1、getとsetの使い方1.2. 計算された属性キャッシュ2. 時計の紹介3...

入力ボックスの値を取得する方法のReactの例

入力ボックスの値を取得する複数の方法最初の方法は、制御されていないコンポーネントの取得です2番目の方...

HTMLの最適化によりWebページの速度が向上

明らかな HTML、隠された「公開スクリプト」 Web ページのダウンロード時間を短縮する鍵は、フ...

フロントエンド開発における一般的なテクニックのまとめ

1. 記事タイトルリストの右側に日付を表​​示する方法:コードをコピーコードは次のとおりです。 &l...

Docker を使用して nginx で tomcat クラスターを構築する方法 (画像とテキスト付き)

まず、Tomcatフォルダを作成します。Dockerの設定を容易にするために、ルートディレクトリに直...

Vueページジャンプの実装方法

1. this.$router.push() 1. ビュー <テンプレート> <d...