ホームページ ウェブフロントエンド H5 チュートリアル H5 でカメラを呼び出して写真を撮ったり、写真を圧縮したりする方法

H5 でカメラを呼び出して写真を撮ったり、写真を圧縮したりする方法

Jan 12, 2018 am 09:22 AM
html5 圧縮 写真

今回は、H5 を使用してカメラを呼び出して写真を撮ったり、写真を圧縮したりする方法を説明します。 H5 がカメラを呼び出して写真を撮影し、画像を圧縮するための 注意事項 は何ですか? ここで実際のケースを見てみましょう。

ドキュメントを整理して、H5 がカメラを呼び出して写真を撮り、共有するために少し整理して圧縮するサンプルコードを見つけました。

背景

私は最近h5ページを作成しました。主な機能は、カメラを呼び出して写真を撮るか、アルバムから写真を選択し、その写真をbase64に圧縮してバックエンドサーバーにアップロード

し、サーバーが認識結果。 フロントエンドの主な機能ポイントは次のとおりです:

H5でカメラを呼び出す方法

写真を圧縮する方法

写真をbase64に変換する

H5でカメラ/アルバムを呼び出す

カメラは入力ファイルの [カメラ] 属性を使用します:

<input type="file" capture=camera accept="image/*">//相机
<input type="file" accept="image/*">//相册
ログイン後にコピー

このメソッドの互換性にはまだ問題があります。iPhone ではカメラを正常に開くことができますが、Android スマートフォンをクリックすると、次のようなオプションが混在します。カメラ、ギャラリー、ファイルマネージャーなどとして。インターネットでいろいろ調べましたが、良い解決策が見つからず、書き続けるしかありません。 。 。

画像圧縮

画像圧縮には FileReader と が必要です。

FileReader オブジェクトを使用すると、Web アプリケーションは、File または Blob オブジェクトを使用して、読み取るファイルまたはデータを指定し、コンピューターに保存されているファイルの内容を非同期的に読み取ることができます。

は、スクリプトを使用してグラフィックや単純なアニメーションを描画できる

HTML 要素

です。 画像圧縮では、画像の解像度と品質を圧縮する必要があります。解像度圧縮の場合、画像の最大側を 800 に設定し、もう一方の側は画像の元の比率に従って拡大縮小することもできます。画像の拡大縮小率。

rreee

次に、圧縮画像の品質ですが、ここでの圧縮率は 80% に設定されており、設定が小さすぎると画像が歪みます。 タグを動的に作成し、画像を圧縮します:

var MAX_WH=800;
var image=new Image();
image.onload=function () {
  if(image.height > MAX_WH) {
    // 宽度等比例缩放 *=
    image.width *= MAX_WH/ image.height;
    image.height = MAX_WH;
  }
  if(image.width > MAX_WH) {
    // 宽度等比例缩放 *=
    image.height *= MAX_WH/ image.width;
    image.width = MAX_WH;
  }
}
image.src=dataURL;//dataURL通过FileReader获取
ログイン後にコピー

それからサーバーにアップロードし、サーバーの結果を表示します。 。 。 iOS スマートフォンで写真を撮影すると、圧縮された後に写真が不可解に回転します。問題の解決を続けます。

IOS画像回転の解決策

まずexif.jsを引用し、EXIF.getDataとEXIF.getTagを通じて写真の方向情報を取得します。

var quality=80;
var cvs = document.createElement(&#39;canvas&#39;);
cvs.width = image.width;
cvs.heigh = image.height;
var context=cvs.getContext("2d");
context.drawImage(image, 0, 0,image.width, image.height);
dataURL = cvs.toDataURL(&#39;image/jpeg&#39;, quality/100);
ログイン後にコピー

画像の方向情報を取得したら、取得した値に基づいて対応する回転操作を実行します。

//file通过input标签获取
EXIF.getData(file,function(){
  orientation=EXIF.getTag(file,&#39;Orientation&#39;);
});
ログイン後にコピー

これらの事例を読んだ後は、その方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。

関連記事:

H5 モバイル QR コード スキャンの実装方法


SVG カラフルなリングのカウントダウンを開始する方法


HTML5 がクロスドメイン通信を実行する方法

以上がH5 でカメラを呼び出して写真を撮ったり、写真を圧縮したりする方法の詳細内容です。詳細については、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)

HTMLの表の境界線 HTMLの表の境界線 Sep 04, 2024 pm 04:49 PM

HTML の表の境界線に関するガイド。ここでは、HTML でのテーブルの境界線の例を示しながら、テーブル境界線を定義する複数の方法について説明します。

HTML 左マージン HTML 左マージン Sep 04, 2024 pm 04:48 PM

HTML マージン左のガイド。ここでは、HTML margin-left の概要とその例、およびそのコード実装について説明します。

HTML のネストされたテーブル HTML のネストされたテーブル Sep 04, 2024 pm 04:49 PM

これは、HTML でのネストされたテーブルのガイドです。ここでは、テーブル内にテーブルを作成する方法をそれぞれの例とともに説明します。

HTML テーブルのレイアウト HTML テーブルのレイアウト Sep 04, 2024 pm 04:54 PM

HTML テーブル レイアウトのガイド。ここでは、HTML テーブル レイアウトの値と例および出力について詳しく説明します。

HTML入力プレースホルダー HTML入力プレースホルダー Sep 04, 2024 pm 04:54 PM

HTML 入力プレースホルダーのガイド。ここでは、コードと出力とともに HTML 入力プレースホルダーの例について説明します。

HTML 順序付きリスト HTML 順序付きリスト Sep 04, 2024 pm 04:43 PM

HTML 順序付きリストのガイド。ここでは、HTML 順序付きリストと型の導入とその例についても説明します。

HTML 内のテキストの移動 HTML 内のテキストの移動 Sep 04, 2024 pm 04:45 PM

HTML でのテキストの移動に関するガイド。ここでは、概要、マーキー タグが構文でどのように機能するか、および実装例について説明します。

HTML の onclick ボタン HTML の onclick ボタン Sep 04, 2024 pm 04:49 PM

HTML オンクリック ボタンのガイド。ここでは、それらの紹介、動作、例、およびさまざまなイベントでの onclick イベントについてそれぞれ説明します。

See all articles