PHPで画像を変換する

WBOY
リリース: 2023-05-24 17:05:38
オリジナル
711 人が閲覧しました

PHP はバックエンド プログラミング言語として、画像処理でも優れたパフォーマンスを発揮します。画像変換は一般的な操作の 1 つであり、Web サイトなどのプロジェクトでよく使用されます。この記事では、PHP の画像変換技術とその一般的な使用法を紹介します。

1. 画像変換とは

画像変換とは、画像をある形式から別の形式に変換するプロセスであり、ここで言及する形式には 2 つのファイル形式と画像エンコード形式が含まれます。画像変換では、透明度の異なるPNG画像の生成や、高精細な大きな画像のサムネイルへの変換などが可能です。

2. PHP で画像変換を実装する方法

PHP には画像変換を実装するためのさまざまな方法があり、そのうち最も一般的に使用される 2 つは次の 2 つです:

  1. GD ライブラリ

GD ライブラリは画像処理用の関数ライブラリのセットで、一般的な画像形式 (JPEG、PNG、GIF など) をサポートし、画像のトリミング、拡大縮小、回転などを実行できます。オペレーション。 GD ライブラリは、検証コード画像の生成やサムネイルの生成などの操作によく使用されます。

  1. ImageMagick

ImageMagick は、複数のオペレーティング システム プラットフォームとそれを呼び出すさまざまなプログラミング言語をサポートするオープンソースの画像処理ソフトウェアのセットです。 ImageMagick は、さまざまな一般的な画像形式の変換、トリミング、スケーリング、回転、その他の操作をサポートしています。 ImageMagick は強力であるだけでなく、優れた互換性とパフォーマンスも備えています。

3. GD ライブラリの画像変換の適用

画像変換に GD ライブラリを使用する場合は、まず関連する拡張機能を有効にする必要があります。 PHP7 では、次の手順で有効にできます:

1. php.ini ファイル内で次の 2 行のコードを見つけてコメントを解除します:

extension_dir = "ext"
extension=gd2

2. Apache サービスを保存して再起動し、設定を有効にします。

以下は、画像変換を実装する GD ライブラリのサンプル コードです。

<?php
// 原始图片路径
$source_path = 'source.jpg';

// 创建一张新的图片源文件
$source = imagecreatefromjpeg($source_path);

// 定义新图片的尺寸
$newwidth = 100;
$newheight = 100;

// 创建新图片源文件
$destination = imagecreatetruecolor($newwidth, $newheight);

// 将原图复制到新图上进行缩放操作
imagecopyresized($destination, $source, 0, 0, 0, 0, $newwidth, $newheight, imagesx($source), imagesy($source));

// 保存新图
header('Content-Type: image/jpeg');
imagejpeg($destination, null, 100);
?>
ログイン後にコピー

上記のサンプル コードでは、imagecreatefromjpeg() 関数を使用して、元の画像ソース ファイルを開いて、新しい画像ソース ファイル; imagecreatetruecolor() 関数は新しい画像ソース ファイルの作成に使用されます; imagecopyresize() 関数は元の画像を新しい画像にコピーし、スケーリング操作を実行するために使用されます; imagejpeg() 関数は保存に使用されます新しい画像を作成してブラウザに出力します。

4. ImageMagick 画像変換のアプリケーション

ImageMagick は、より多くの画像形式をサポートし、より多くの機能を備えています。 ImageMagick を使用して画像を変換するには、まずシステムに ImageMagick ソフトウェアをインストールし、次に PHP の exec() 関数を通じてコマンド ラインを呼び出し、必要な画像変換操作を実装する必要があります。以下は、ImageMagick を使用した画像変換のサンプル コードです。

<?php
// 原始图片路径
$source_path = 'source.jpg';

// 定义新图片的尺寸
$newwidth = 100;
$newheight = 100;

// 定义新图片的目标文件路径和文件名
$destination_path = 'destination.jpg';

// 执行命令行操作,将原图缩放并输出到指定路径
exec("convert $source_path -resize $newwidth x $newheight $destination_path");

// 将新图片输出到浏览器
header('Content-Type: image/jpeg');
readfile($destination_path);
?>
ログイン後にコピー

上記のサンプル コードでは、exec() 関数を使用してコマンド ライン操作を実行し、元の画像を指定された画像の新しい画像に変換します。サイズを指定して指定したパスに出力します。次に、readfile() 関数を通じて新しい画像をブラウザに出力します。

5. 概要

画像変換は Web 開発における一般的なタスクであり、PHP には、画像変換操作を実装するための 2 つのツール (GD ライブラリと ImageMagick) が提供されています。 GD ライブラリを使用すると、いくつかの基本的な画像変換操作をより簡単に実装でき、ImageMagick を使用すると、より高度な画像変換操作をより柔軟に実装できます。自分に合ったツールを選択し、ビジネス ニーズと組み合わせることで、Web サイトに優れた高速な画像処理機能を簡単に実装できます。

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!