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 に配列を保存するサンプルコードと方法

推薦する

実践的な経験を共有するためのコードチェックツールstylelintの紹介

目次序文文章1. stylelintをインストールする2. 設定ファイル3. stylelintを使...

MYSQLデータベーステーブル構造の最適化方法の詳細な説明

この記事では、例を使用して、MYSQL データベース テーブル構造を最適化する方法を説明します。ご参...

CentOS 7.6 仮想ネットワーク カードのバッチ追加、変更、削除操作の紹介

1 カーネルにtunモジュールがあるかどうかを確認する modinfo tun modprobe t...

Windows DNS サーバーに「ワームレベル」の脆弱性が露呈、17 年間存在

脆弱性の紹介SigRed の脆弱性はワーム化可能であるため非常に危険です。つまり、ユーザーの介入なし...

純粋な CSS でマークダウンの自動番号付けを実装するサンプル コード

問題の起源私がタイトルの番号付けの問題に初めて注目したのは、学部の論文を書いていた頃まで遡ります。当...

CentOS VPS に SSH 経由で MySQL をインストールする方法

yum install mysql-serverと入力します。続行するにはYを押してくださいインスト...

jQueryは、マウスをドラッグしてdivの位置とサイズを変更する方法を実装しています。

Windows フォームと同様の効果を得るには、中央をドラッグして div の位置を変更し、端をド...

CentOS での samba フォルダ共有サーバー構成の詳細な説明

1. はじめに最近、CentOS での開発には多くの不便があることがわかりました。Windows/M...

W3C チュートリアル (10): W3C XQuery アクティビティ

XQuery は、XML ドキュメントからデータを抽出するための言語です。 XQuery は、XML...

Ansibleを使用してTomcatをバッチでデプロイする方法

1.1 ディレクトリ構造の構築この操作は、nginx+mysql+tomcat+dbのディレクトリ構...

JavaScript で charAt() を使用して、最も頻繁に出現する文字とその出現回数をカウントする方法を教えます。

前回は、JavaScript の charAt() メソッドの使い方を紹介しました。今日は、最も多く...

MySQL の最適化: InnoDB の最適化

勉強の計画は簡単に中断され、継続するのが困難です。先日、社内で事業の方向性を調整するための会議があり...

DockerにrockerChatをインストールし、チャットルームを設定するための詳細な手順

包括的なドキュメントgithubアドレスhttps://github.com/RocketChat/...

Maven プロジェクトのリモート デプロイメント && Tomcat を使用してデータベース接続を構成する方法

1つ。 tomcat を使用したリモート展開1.1 発生した問題:プロジェクトでは、サードパーティの...

JS が WeChat の「クソ爆弾」機能を実装

みなさんこんにちは、Qiufengです。最近、WeChatは新しい機能をリリースしました(WeCha...