1. html2Canvasをインストールするnpm をインストール html2canvas --save 2. 必要なVueコンポーネントを導入する「html2canvas」からhtml2canvasをインポートします。 3. スクリーンショットボタンを書く<el-button class="button-dalod" size="mini" title="画像を生成" @click="toImage()" icon="el-icon-download"></el-button> 4. toImage関数を呼び出す// ページ要素を画像に変換する toImage () { // キャンバスタグを手動で作成する const canvas = document.createElement("canvas") // 親タグを取得します。つまり、このタグ内の DOM 要素が画像を生成します // imageTofile は、スクリーンショット範囲内の親要素のカスタム参照名です let canvasBox = this.$refs.imageTofile // 親の幅と高さを取得します。const width = parseInt(window.getComputedStyle(canvasBox).width) 定数高さ = parseInt(window.getComputedStyle(canvasBox).height) // 幅と高さを2倍に拡大するのは画像がぼやけるのを防ぐためです canvas.width = width * 2 キャンバスの高さ = 高さ * 2 canvas.style.width = 幅 + 'px' canvas.style.height = 高さ + 'px' const コンテキスト = canvas.getContext("2d"); コンテキスト.スケール(2, 2); 定数オプション = { 背景色: null、 キャンバス: キャンバス、 CORS の使用: true } html2canvas(canvasBox, オプション).then((canvas) => { // toDataURL 画像形式を base64 に変換 dataURL = canvas.toDataURL("image/png") とします。 コンソールログ(データURL) this.downloadImage(データURL) }) }, //画像をダウンロード downloadImage(url) { // ウェブページ上にある場合は、直接ダウンロードするための a タグを直接作成できます。let a = document.createElement('a') a.href = URL a.download = 'ホームスクリーンショット' クリック() }, スクリーンショット範囲内のページの親に ref 属性を追加することを忘れないでください。これにより、キャンバスは親を見つけて、スクリーンショットを撮るための幅と高さを計算できるようになります。 スクリーンショットの結果は次のとおりです。 要約するこの記事はこれで終わりです。皆さんのお役に立てれば幸いです。また、123WORDPRESS.COM のその他のコンテンツにも注目していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: MySQL における between の境界と範囲の説明
>>: vscode dockerプラグインのdocker.socket権限問題を解決する
目次mysql マスタースレーブレプリケーションMySQL マスタースレーブレプリケーション方式My...
2.1、msiインストールパッケージ2.1.1、インストール特に重要なのは、インストール前に、元の ...
この記事では、例を使用して MySQL の共有ロックと排他ロックの使用方法を説明します。ご参考までに...
目次序文始めるちょっとした考えコードの実装真似する実装トラックトリガーの実装観察の実装計算の実装序文...
みなさんこんにちは。私は梁旭です。 Linux を使用しているときに、いくつかのコマンドを連結する必...
目次序文1. アプリケーションコンポーネント2. アプリケーションの種類3. アプリケーションサービ...
Tensorflow バージョンと Cuda および CUDNN の対応: https://tens...
多くの場合、クエリの結果は最大で 1 つのデータ レコードになることが予想されます。この場合、制限 ...
最近、IM を実行するときに、これらの 3 つのキーワードを同時に使用したときに問題が発生しました。...
この記事では、MySQL 8.0.13の手動インストールチュートリアルを参考までに紹介します。具体的...
この記事では、Vueで複数の画像を追加、表示、削除するための具体的なコードを参考までに紹介します。具...
これに先立ち、1日かけてやってみました。Seataは使い方が簡単で超シンプルですが、インストールや設...
目次Vue3 + TypeScript 学習1. 環境設定1.1 最新のVue scaffoldin...
MySQL 5.6 での union all のパフォーマンスパート 1:MySQL 5.6.25 ...
この記事では、主に次のような Vue ドラッグ アンド ドロップの簡単な実装を紹介します。レンダリン...