HTML5 キャンバス モバイル ブラウザーでの画像圧縮アップロード_html5 チュートリアル スキル
最近モバイル端末でアバターのアップロード機能を設計したとき、当初は を指定して formData 経由で直接アップロードしていましたが、実際の使用方法は次のとおりです。高画素携帯電話など) アップロード時間が長すぎるとアップロードに失敗しますし、毎回オリジナルサイズの画像をアップロード(バックグラウンド処理圧縮)するとユーザーエクスペリエンスに大きく影響するため、圧縮方法を検討しました。キャンバスを通して画像をアップロードして、以下にいくつかのアイデアと考えを示します:
1. ローカル画像を取得し、キャンバスに画像を描画します。ここでの問題点は、ブラウザの保護メカニズムにより、ローカル ファイルの画像パスを直接取得できないため、ローカル画像を Base64 形式にコンパイルしてからアップロードする必要があることです 。コードは次のとおりです。
- var result = document.getElementById("/* エラーメッセージ表示ブロック */"); 🎜>
- var input = document.getElementById("/* ファイルタグをアップロードします */"); >
- if(typeof FileReader === '未定義'){ result.innerHTML =
- "
申し訳ありませんが、お使いのブラウザは FileReader をサポートしていません
"; input.setAttribute( '無効' - ,'無効'); }else {
- input.addEventListener('change' ,readFile,
- false); }
- 関数
- readFile(){
- var ファイル = this
- .files[0]; if(!/image/w /.test(file.type)){ alert(
- "ファイルの種類が画像であることを確認してください"); return
- false; }
- var Reader = new FileReader();
- Reader.readAsDataURL(ファイル)
- Reader.onload = 関数(e){ // this.result コンパイルされた画像エンコーディングは、src
- で直接表示できます。
- } }
- 2. キャンバスでの画像処理
- JavaScript コード コンテンツをクリップボードにコピーします
- var c=document.getElementById("/* Canvas タグ ID */"); >
- var cxt=c.getContext("2d"); var
- img=new Image(); img.src=/* 取得した画像エンコードアドレス */ ;
- var width = img.width;
- var 高さ = img.height; dic = 高さ / 幅;
- c.width = 200; //画像圧縮の基準、ここでは 200px のデポジットに基づいて計算されます
- c.height = 200 * dic; cxt.clearRect(0,0,200,200*dic);
- cxt.drawImage(img,0,0,200,200*dic);
- var finalURL = c.toDataURL();
- // 取得された最終 URL は圧縮された画像エンコーディングであり、これを使用して画像タグをアップロードまたは直接生成できます
- ここで注意すべき点がいくつかあります: 1. ローカルでデバッグするとエラーが発生するため、サーバー側でデバッグする必要があります。 2. キャンバスのdrawImage()メソッドには画像のトリミング機能がありますが、画像の伸縮とトリミングを同時に記述すると、トリミングメソッドが先に実行されます。 3. AJAX を使用して画像エンコードをアップロードすると、エンコード内のプラス記号がスペースに変換され、バックグラウンドでのコンパイルが失敗します。
- 4. 画像領域の選択とアップロードの方法はまだ試用段階なので、後で私の経験を追加します。 以上がこの記事の全内容です。皆様の学習のお役に立てれば幸いです。 原文: http://www.cnblogs.com/liaojh/p/5209433.html

H5は、さまざまな新機能と機能を提供し、フロントエンド開発の機能を大幅に向上させます。 1.マルチメディアサポート:メディアを埋め込んで要素を埋め込み、プラグインは必要ありません。 2。キャンバス:要素を使用して、2Dグラフィックとアニメーションを動的にレンダリングします。 3。ローカルストレージ:ユーザーエクスペリエンスを改善するために、ローカルストレージとセッションストレージを介して永続的なデータストレージを実装します。

H5とHTML5は異なる概念です。HTML5は、新しい要素とAPIを含むHTMLのバージョンです。 H5は、HTML5に基づくモバイルアプリケーション開発フレームワークです。 HTML5はブラウザを介してコードを解析およびレンダリングしますが、H5アプリケーションはコンテナを実行し、JavaScriptを介してネイティブコードと対話する必要があります。

HTML5の重要な要素には、最新のWebページの構築に使用される、、,,,,などが含まれます。 1.ヘッドコンテンツを定義します。2。リンクをナビゲートするために使用されます。3。独立した記事のコンテンツを表します。4。ページコンテンツを整理します。5。サイドバーコンテンツを表示します。

HTML5とHTML5の略語であるHTML5とH5の間に違いはありません。 1.HTML5はHTMLの5番目のバージョンであり、Webページのマルチメディア関数とインタラクティブ機能を強化します。 2.H5は、HTML5ベースのモバイルWebページまたはアプリケーションを参照するためによく使用され、さまざまなモバイルデバイスに適しています。

HTML5は、W3Cによって標準化されたHyperText Markup言語の最新バージョンです。 HTML5は、新しいセマンティックタグ、マルチメディアサポート、フォームの強化、Web構造の改善、ユーザーエクスペリエンス、SEO効果を導入します。 HTML5は、Webページ構造をより明確にし、SEO効果をより良くするために、、、、、、などの新しいセマンティックタグを導入します。 HTML5はマルチメディア要素をサポートしており、サードパーティのプラグインは不要で、ユーザーエクスペリエンスと読み込み速度が向上します。 HTML5はフォーム関数を強化し、ユーザーエクスペリエンスを向上させ、フォーム検証効率を向上させるなどの新しい入力タイプを導入します。

クリーンで効率的なHTML5コードを書き込む方法は?答えは、タグのセマンティック、構造化されたコード、パフォーマンスの最適化、一般的な間違いを回避することにより、一般的な間違いを避けることです。 1.コードの読みやすさとSEO効果を改善するには、セマンティックタグなどを使用します。 2。適切なインデントとコメントを使用して、コードを構造化して読みやすいままにします。 3.不必要なタグを減らし、CDNを使用してコードを圧縮することにより、パフォーマンスを最適化します。 4.タグが閉じていないなどの一般的な間違いを避け、コードの有効性を確認してください。

H5は、マルチメディアサポート、オフラインストレージ、パフォーマンスの最適化により、Webユーザーエクスペリエンスを向上させます。 1)マルチメディアサポート:H5と要素は、開発を簡素化し、ユーザーエクスペリエンスを向上させます。 2)オフラインストレージ:WebStorageとIndexEdDBは、エクスペリエンスを改善するためにオフラインで使用できるようにします。 3)パフォーマンスの最適化:ウェブワーカーと要素は、パフォーマンスを最適化して帯域幅の消費を削減します。

HTML5コードは、タグ、要素、属性で構成されています。1。タグはコンテンツタイプを定義し、などの角度ブラケットに囲まれています。 2。要素は、startタグ、内容、および内容などのエンドタグで構成されています。 3。属性は、開始タグのキー値のペアを定義し、ような関数を強化します。これらは、Web構造を構築するための基本ユニットです。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

メモ帳++7.3.1
使いやすく無料のコードエディター

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

ホットトピック









