ホームページ ウェブフロントエンド jsチュートリアル Canvas を使用して画像を処理する方法

Canvas を使用して画像を処理する方法

Feb 08, 2018 am 11:44 AM
canvas 対処する 行為

Canvas (中国語では「キャンバス」と訳されます) には、HTML5 に新しい 要素があり、JavaScript と組み合わせてキャンバス内にグラフィックを動的に描画できます。この記事では主に、Canvas を使用して画像を処理するための関連情報をサンプル コードを通じて詳しく紹介します。この記事は、皆さんの学習や仕事に役立つことを願っています。

プロセスはおそらく非常に簡単で、主に次の 3 つのステップに分かれています:


キャンバス画像処理

はい、象を冷蔵庫に入れるのと同じくらい簡単です(笑)。

1. 主なAPI

プロセス全体で使用される主なCanvas APIは次のとおりです:

  • 画像の描画:drawImage()

  • 画像データの取得:getImageData()

  • 画像データの書き換え:putImageData( )

  • 画像のエクスポート: toDataURL()

1.drawImage()

その名前が示すように、このメソッドは Canvas キャンバスに画像を描画するために使用されます。

①位置。キャンバス上の画像: context.drawImage(img,x,y)

② キャンバス上に画像を配置し、画像の幅と高さを指定します: context.drawImage(img,x,y,width,height)

③ 画像を切り取り、切り取った部分をキャンバス上に配置します: context.drawImage(img,sx,sy,swidth,sheight,x,y,width,height)

上記のパラメータ値は、次の表:

パラメータ 説明
img は、使用する画像、キャンバス、またはビデオを指定します。
sx はオプションです。剪断を開始する x 座標の位置。
sy オプション。せん断を開始する y 座標の位置。
オプション。トリミングされた画像の幅。
身長 はオプションです。切り取られた画像の高さ。
x 画像のx座標位置をキャンバス上に配置します。
y 画像のy座標位置をキャンバス上に配置します。
オプション。使用する画像の幅。 (画像を拡大または縮小)
高さ オプション。使用する画像の高さ。 (画像を拡大または縮小します)

2. getImageData()

具体的な使い方は以下の通りです:

指定した四角形範囲内のピクセルデータを取得します。キャンバスの: var ImageData = context .getImageData(x,y,width,height)

上記のパラメータ値については、次の表で説明します。 x

コピーを開始する左上隅の位置の x 座標。 y コピーを開始する左上隅の y 座標。 width コピーされる長方形領域の幅。 height コピーされる長方形領域の高さ。 このメソッドは非常に単純で、画像データを Canvas キャンバスに書き換えるために使用されます。具体的な使用方法は次のとおりです。 上記のパラメーター値については、次の表で説明します。
このメソッドは、幅、高さ、データの 3 つの属性を持つ ImageData オブジェクトを返します。これは、画像内の各ピクセルのデータを保存するため、最も重要です。これらのデータを取得した後、それらを処理し、最終的に Canvas キャンバスに書き換えることで、画像の加工と変換を実現します。データ配列の具体的な使用法については、次の例で確認できます。 3. putImageData()
context.putImageData(imgData,x,y,dirtyX,dirtyY, DirtyWidth,dirtyHeight )

Parameter

Description


imgData

キャンバスに戻す ImageData オブジェクトを指定します。 xImageData オブジェクトの左上隅の x 座標 (ピクセル単位)。 yImageData オブジェクトの左上隅の y 座標 (ピクセル単位)。 ダーティXオプション。キャンバス上の画像を配置する水平方向の値 (x) (ピクセル単位)。 汚いオプション。キャンバス上の画像を配置する水平方向の値 (y) (ピクセル単位)。 dirtyWidthオプション。キャンバス上に画像を描画するために使用される幅。 dirtyHeightオプション。キャンバス上に画像が描画される高さ。

4. toDataURL()

このメソッドは、上記の 3 つのメソッドとは異なり、画像のパス アドレスとして直接入力できる、Canvas オブジェクトのメソッドです。 img> タグの src 属性の具体的な使用法は次のとおりです:

var dataURL = Canvas.toDataURL(type, encoderOptions);画像形式、デフォルトはimage/pngです。

encoderOptions
オプション。指定した画像形式がimage/jpegまたはimage/webpの場合、画質を0~1から選択できます。値が範囲外の場合は、デフォルト値の 0.92 が使用されます。他のパラメータは無視されます。 2. 画像処理の例 この例では、コードを通じてカラー画像を白黒画像に処理する方法を簡単に紹介します。
<!--HTML-->
<canvas id="canvas" width="600" height="600"></canvas>
<input id="handle" type="button" value="处理图片" />
<input id="create" type="button" value="生成图片" />
<p id="result"></p>
ログイン後にコピー
rree関連する推奨事項: 画像のキャンバス処理
PHP画像処理で複数の画像を1つに結合する例
キャンバス画像処理

以上がCanvas を使用して画像を処理する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

WIN10サービスホストの動作プロセスがCPUを過剰に占有している WIN10サービスホストの動作プロセスがCPUを過剰に占有している Mar 27, 2024 pm 02:41 PM

1. まず、タスクバーの空白スペースを右クリックして[タスクマネージャー]オプションを選択するか、スタートロゴを右クリックして[タスクマネージャー]オプションを選択します。 2. 開いたタスク マネージャー インターフェイスで、右端の [サービス] タブをクリックします。 3. 開いた[サービス]タブで、下の[サービスを開く]オプションをクリックします。 4. 表示される[サービス]ウィンドウで、[InternetConnectionSharing(ICS)]サービスを右クリックし、[プロパティ]オプションを選択します。 5. 表示されたプロパティ画面で[プログラムから開く]を[無効]に変更し、[適用]をクリックして[OK]をクリックします。 6. スタートロゴをクリックし、シャットダウンボタンをクリックして[再起動]を選択し、コンピュータの再起動を完了します。

CSV ファイル操作のクイックガイド CSV ファイル操作のクイックガイド Dec 26, 2023 pm 02:23 PM

CSV 形式ファイルを開いて処理する方法を簡単に学習します。データ分析と処理の継続的な開発により、CSV 形式は広く使用されるファイル形式の 1 つになりました。 CSV ファイルは、さまざまなデータ フィールドがカンマで区切られた、シンプルで読みやすいテキスト ファイルです。学術研究、ビジネス分析、データ処理のいずれの場合でも、CSV ファイルを開いて処理する必要がある状況に頻繁に遭遇します。次のガイドでは、CSV 形式ファイルを開いて処理する方法をすぐに学ぶ方法を説明します。ステップ 1: CSV ファイル形式を理解する まず、

PHP で特殊文字を処理し、一重引用符を変換する方法を学習します。 PHP で特殊文字を処理し、一重引用符を変換する方法を学習します。 Mar 27, 2024 pm 12:39 PM

PHP 開発のプロセスでは、特殊文字の処理が一般的な問題になります。特に文字列処理では、特殊文字がエスケープされることがよくあります。その中でも、特殊文字を一重引用符に変換することは比較的一般的な要件です。これは、PHP では一重引用符が文字列をラップする一般的な方法であるためです。この記事では、PHP での特殊文字変換シングルクォーテーションの扱い方と具体的なコード例を説明します。 PHP では、特殊文字には一重引用符 (')、二重引用符 (")、バックスラッシュ () などが含まれますが、これらに限定されません。

win7からwin10へのアップグレードに失敗した後、問題を解決するにはどうすればよいですか? win7からwin10へのアップグレードに失敗した後、問題を解決するにはどうすればよいですか? Dec 26, 2023 pm 07:49 PM

私たちが使用しているオペレーティングシステムがwin7の場合、一部の友人はアップグレード時にwin7からwin10へのアップグレードに失敗する可能性があります。編集者は、問題を解決できるかどうかを確認するために、アップグレードを再度試行できると考えています。詳細については、エディターが行ったことを見てみましょう~ win7 が wi​​n10 にアップグレードできない場合の対処方法 方法 1: 1. コンピューターが Win10 にアップグレードできるかどうかを評価するために、最初にドライバーをダウンロードすることをお勧めします。アップグレード後にドライバーテストを利用し、ドライバーに異常がないか確認し、ワンクリックで修正してください。方法 2: 1. C:\Windows\SoftwareDistribution\Download の下にあるすべてのファイルを削除します。 2.win+R「wuauclt.e」を実行

キャンバス フレームワークを学び、一般的に使用されるキャンバス フレームワークについて詳しく説明します キャンバス フレームワークを学び、一般的に使用されるキャンバス フレームワークについて詳しく説明します Jan 17, 2024 am 11:03 AM

Canvas フレームワークを探索する: 一般的に使用される Canvas フレームワークを理解するには、特定のコード例が必要です。 はじめに: Canvas は HTML5 で提供される描画 API であり、これを通じて豊富なグラフィックスやアニメーション効果を実現できます。描画の効率と利便性を向上させるために、多くの開発者がさまざまな Canvas フレームワークを開発しました。この記事では、一般的に使用される Canvas フレームワークをいくつか紹介し、読者がこれらのフレームワークの使用方法をより深く理解できるように、具体的なコード例を示します。 1.EaselJSフレームワークEa

ゲーム開発におけるキャンバスの強力な役割と応用を探る ゲーム開発におけるキャンバスの強力な役割と応用を探る Jan 17, 2024 am 11:00 AM

ゲーム開発におけるキャンバスの力と応用を理解する 概要: インターネット技術の急速な発展に伴い、Web ゲームはプレイヤーの間でますます人気が高まっています。 Web ゲーム開発の重要な部分として、キャンバス テクノロジーがゲーム開発に徐々に登場し、その強力なパワーと応用性を示しています。この記事では、ゲーム開発におけるキャンバスの可能性を紹介し、具体的なコード例を通じてその応用例を示します。 1. Canvas テクノロジの概要 Canvas は HTML5 の新しい要素で、これにより次のことが可能になります。

html2canvas はどのスタイルに対して無効ですか? html2canvas はどのスタイルに対して無効ですか? Nov 24, 2023 pm 03:25 PM

無効なスタイルには、CSS3 アニメーションとトランジション、CSS フィルター効果、CSS3 複雑なグラフィックスとパス、一部の CSS3 機能、疑似要素と一部の CSS 機能、Z インデックス、背景画像とグラデーションなどが含まれます。詳細な紹介: 1. CSS3 アニメーションとトランジション: html2canvas は CSS3 アニメーションとトランジションの効果を完全にはキャプチャできない可能性があります。最終的なスタイルをキャプチャするよう試みられますが、これらのアニメーションとトランジションは変換プロセス中に失われる可能性があります; 2. CSS フィルター効果: ぼかしや影などのフィルターは変換プロセス中に保持されない場合があります。

PHP 文字列処理: 右側の最初の文字を削除するには? PHP 文字列処理: 右側の最初の文字を削除するには? Mar 01, 2024 pm 12:51 PM

PHP での文字列の処理は非常に一般的な操作であり、右側の最初の文字を削除することも一般的なニーズです。この記事では、PHP コードを使用して右側の最初の文字を削除する方法を説明します。まず、右側の最初の文字を削除する方法を示す文字列処理関数の簡単な例を見てみましょう。

See all articles