この記事では、9グリッドカット効果を実現するためのキャンバスの具体的なコードを紹介します。具体的な内容は次のとおりです。 最初のページ表示 コードに直接 <!DOCTYPE html> <html lang="ja"> <ヘッド> <メタ文字セット="UTF-8"> <meta name="viewport" content="width=デバイス幅、初期スケール=1.0"> <meta http-equiv="X-UA-compatible" content="ie=edge"> <title>ドキュメント</title> <スタイル> 体 { テキスト配置: 中央; } キャンバス { 境界線: 1px 実線; } .newcanvas { 幅: 316ピクセル; 高さ: 316px; マージン: 自動; } .newpohoto、 .ダウンロード{ 幅: 300ピクセル; 高さ: 40px; 行の高さ: 40px; マージン: 自動; 背景色: コーンフラワーブルー; 境界線の半径: 5px; カーソル: ポインタ; マージン: 10px 自動; 色: 白; } </スタイル> </head> <本文> <h3>キャンバスを使用して9グリッドカットの効果を実現する</h3> <div class="mycanvas"> <キャンバス幅="300" 高さ="300" id="mycnavas"></キャンバス> </div> <div class="newpohoto"> 写真の切り取りを開始する</div> <div class="newcanvas"> <キャンバス幅="100" 高さ="100" id="img1"></キャンバス> <キャンバス幅="100" 高さ="100" id="img2"></キャンバス> <キャンバス幅="100" 高さ="100" id="img3"></キャンバス> <キャンバス幅="100" 高さ="100" id="img4"></キャンバス> <キャンバス幅="100" 高さ="100" id="img5"></キャンバス> <キャンバス幅="100" 高さ="100" id="img6"></キャンバス> <キャンバス幅="100" 高さ="100" id="img7"></キャンバス> <キャンバス幅="100" 高さ="100" id="img8"></キャンバス> <キャンバス幅="100" 高さ="100" id="img9"></キャンバス> </div> <div class="ダウンロード"> 画像をダウンロード</div> <スクリプト> var canvas = document.getElementById("mycnavas"); //次に画像を配置します var cxt = mycnavas.getContext("2d"); var img = 新しい画像(); 画像を拡大 window.onload = 関数() { cxt.drawImage(img, 0, 0, 400, 300); //画像の位置を描画します} var arr = []; //切り取った画像を配列に保存する document.getElementsByClassName("newpohoto")[0].onclick = function() { var q = 1; (var i = 0; i < 3; i++) の場合 { (var j = 0; j < 3; j++) の場合 { var data = cxt.getImageData(j * 100, i * 100, 400, 100); //「コピー」関数と同様 var img = document.getElementById("img" + q) var newcxt = img.getContext("2d"); newcxt.putImageData(data, 0, 0); //「貼り付け」関数と同様 arr.push(console.log(img.toDataURL(q + ".png"))) //toDataURL() メソッドの 2 つのパラメーター: DataURL(type, encodingOptions) type は、image/png、image/jpeg、image/webp など、base64 エンコードに変換した後のイメージの形式を指定します。デフォルトは image/png 形式です。 q++; コンソールログ(arr) } } } //切り取った画像をダウンロードする var arr = []; document.getElementsByClassName('download')[0].onclick = function() { (var i = 0; i < 9; i++) の場合 { var a = document.createElement('a'); a.download = 'img' + (i + 1); a.href = arr[i]; ドキュメント本体に子要素を追加します。 クリック(); } } </スクリプト> </本文> </html> 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: Linux で FTP イメージ サーバーをインストールして展開する方法
BFCコンセプト:ブロック フォーマット コンテキストは、BFC 内の要素を外部の要素から分離する独...
この記事では、例を使用して MySQL の重複インデックスと冗長インデックスについて説明します。ご参...
WindowsでMySQLデータベースのマスターとスレーブを構成する詳細なプロセスは次のとおりです。...
CSS を使用する場合は、DOCTYPE (ドキュメント タイプ定義) を記述することを忘れないでく...
ステップ1: Ubuntuソースを追加するルートに切り替える suルートソフトウェアソースファイルの...
目次1. 背景: 2. デザインのアイデア: 3. 起動スクリプトを書く4. イメージを構築する5....
MySQL5.7.21のインストールとパスワード設定のチュートリアルは次のとおりです。公式リファレン...
私たちは視覚の世界に住んでおり、多くの視覚効果に囲まれています。コンピューターの前にいても、屋外にい...
WeChatアプレットuniappは左スワイプで削除効果を実現成果を達成する1. スワイプしてリス...
目次JVM クラスローダーTomcat クラスローダークラスを検索ロードクラスクラスをロードしようと...
1. RPMバージョンのインストールデータベースの他のバージョンがあるかどうかを確認し、ある場合は完...
最近、インターフェースを描画しているときに、インターフェースに垂直線を描画し、この垂直線の高さが親 ...
序文通常、ファイル内の特定の行を削除したい場合は、まずファイルを開き、削除する内容を見つけて、これら...
1. どのような問題に直面しましたか?標準 SQL では、通常、次の SQL 挿入ステートメントを記...
MySQL は非常に強力なリレーショナル データベースです。しかし、初心者の中には、インストールや設...