ウェブ画像形式としてPNG、JPG、GIFを選択して使用する方法

ウェブ画像形式としてPNG、JPG、GIFを選択して使用する方法

では、GIF、PNG、JPG のどの形式を候補形式として選択すればよいのでしょうか。また、どの画像形式であれば、画像サイズを小さくしながらも画質を向上させることができるのでしょうか。

1. 画像フォーマット

画像

GIF の最も優れた特徴は、アニメーションをサポートしていることです。同時に、GIF はロスレス画像形式でもあり、画像を変更した後も画像の品質が失われないことを意味します。さらに、GIF は半透明 (完全に透明または完全に不透明) をサポートしています。
Google によると、GIF は非常に小さい画像やシンプルな画像 (10×10 未満または 3 色未満) に適しています。

PNG

まず、PNG にはPNG-8トゥルーカラー PNG (PNG-24 または PNG-32) が含まれます。GIF と比較した PNG の最大の利点は次のとおりです。

  • 通常サイズが小さい
  • アルファ版をサポート(完全な透明性)

しかし、PNG はアニメーションをサポートしていないことはわかっています。

また、IE6 は PNG-8 をサポートしますが、PNG-24 の透明度を処理するとグレーで表示されることに注意してください。関連する例については、 sitepointを参照してください。

一般的に、PNG-8 として保存された画像は、同じ品質の GIF よりも小さくなり、完全に透明な画像の場合は現在 PNG-24 のみを使用できます。ただし、画像を PNG-8 で保存して GIF と比較する場合は注意してください。法則が常に正しいとは限らないためです。

画像

JPG は GIF や PNG よりも多くの色を表示でき、圧縮率も高いため、デジタル写真の保存に最適です。ただし、JPG は非可逆圧縮であるため、画像を変更するたびにピクセルの歪みが生じることに注意してください。

上記の概要を読んだ後、どの画像を保存するのにどの形式を使用するかについて、大まかな理解が得られるはずです。要約すると、次のようになります。

要点:小さな画像や基本的な Web ページ要素 (ボタンなど) の場合は、PNG-8 または GIF を検討してください。写真の場合は、JPG を検討してください。

<<:  Vue コンポーネントの切り替え、動的コ​​ンポーネント、コンポーネントのキャッシュについて

>>:  CSS を使用して要素のスクロールバーを非表示にするサンプルコード

推薦する

MySQL 数十億のデータのインポート、エクスポート、移行に関するメモ

最近はMySQLのメモをたくさん取っていますが、それは主に会社のOracleが比較的安定していてメン...

ページ内にマーキーとフラッシュが共存する場合の競合解決

競合の主な症状は、FLASH ボタンがジャンプし続け、不安定になり、Web ページの外観と通常のアク...

クロスブラウザローカルストレージⅠ

原文: http://www.planabc.net/2008/08/05/userdata_beh...

Ubuntu 20.04 aptの国内ソースを変更する方法

UPD 2020.2.26 現在、Ubuntu 20.04 LTSはまだリリースされていないため、チ...

Vue3 ページ、メニュー、ルートの使用

目次1. メニューをクリックしてジャンプ1. ページ名の統一2. 管理ページを追加3. ルートを追加...

Linux システムの /etc/fstab ファイルの詳細な解釈

序文 [root@localhost ~]# cat /etc/fstab # #/etc/fsta...

MySQL トリガー構文とアプリケーション例

この記事では、例を使用して MySQL トリガーの構文とアプリケーションを説明します。ご参考までに、...

ドラッグ可能で編集可能なガントチャートの詳細な説明(HighchartsはVueとReactで使用できます)

序文Excel は強力で、広く使用されています。 Web アプリケーションの登場と改善に伴い、ユーザ...

Reactにおける制御されたコンポーネントと制御されていないコンポーネントの簡単な分析

目次制御されていないコンポーネント制御コンポーネント知らせ結論は制御されていないコンポーネントフォー...

MySQL の JSON 挿入の問題

MySQL 5.7.8 以降では、JSON テキストでデータを効率的に取得できるネイティブ JSON...

TypeScriptはvscodeを使用してコードのコンパイルプロセスを監視します

インストールtsコマンドをグローバルにインストールする npm install -g typescr...

Vue要素ヘッダーにスラッシュを追加するための実装コード

<テンプレート> <div class="アプリコンテナ"&...

Node8 における AsyncHooks 非同期ライフサイクル

Async Hooks は Node8 の新機能です。NodeJs の非同期リソースのライフサイクル...

JavaScript クロージャの説明

目次1. クロージャとは何ですか? 1.2 クロージャのメモ化: 関数は定義された環境を記憶する1....

MySQL トリガーの使用方法と利点と欠点の紹介

目次序文1. トリガーの概要2. トリガーの作成2.1 トリガー構文の作成2.2 コード例3. トリ...