PHP 拡張機能 MagickWand
PHP 拡張機能 MagickWand ImageMagick
はじめに
MagickWand は PHP の拡張機能であり、これを通じて ImageMagick との対話を確立し、画像を処理します。これは、デフォルトの GD グラフィックス ライブラリの優れた代替品です。セキュリティと使いやすさの点で、PHP で MagickWand を使用する方が、コマンド ライン ImageMagick を使用するよりもはるかに安全で高速です。さらに、imagick は ImageMagick の代わりに PHP で使用することもできます。
MagickWand には 2 つの形式があります:
1. ImageMagick との対話を確立するだけです。この場合、ImageMagick を最初にインストールする必要があります。ただし、拡張ファイルが小さく (通常は数百 K)、ImageMagick のバージョンをすぐにアップグレードできることです。特別な権限が必要です。
2. 拡張機能自体に ImageMagick が含まれているため、一時ディレクトリに ImageMagick を追加インストールする必要がないという利点がありますが、拡張ファイルは比較的大きい (通常は 4M 以上)。
MagickWand はデフォルトでは PHP インストール パッケージに含まれていません。PHP Web サイトからダウンロードして、この拡張機能を PHP.INI で開く必要があります。
コード例
// convert flower.jpg -quality 80% flower_quality.jpg $resource = NewMagickWand(); MagickReadImage( $resource, 'small_flower.jpg' ); MagickSetFormat($resource, 'JPG'); MagickSetImageCompression($resource, MW_JPEGCompression); MagickSetImageCompressionQuality($resource, 80.0); header( 'Content-Type: image/gif' ); MagickEchoImageBlob( $resource );
画像にテキストを書き込みます:
// convert flower.jpg -font courier -fill white -pointsize 20 -annotate +50+50 Flower flower_annotate1.jpg $resource = NewMagickWand(); $dwand = NewDrawingWand(); $pwand = NewPixelWand(); PixelSetColor($pwand, "white"); DrawSetFont($dwand, "/usr/share/fonts/default/TrueType/cour.ttf");//指定字体 DrawSetFontSize($dwand, 20); DrawSetFillColor($dwand, $pwand); DrawSetGravity($dwand, MW_SouthGravity); MagickReadImage( $resource, 'small_flower.jpg' ); if( MagickAnnotateImage( $resource, $dwand, 0, 0, 0, "Flower" ) ){ header( 'Content-Type: image/gif' ); MagickEchoImageBlob( $resource ); }else{ echo MagickGetExceptionString($resource); }
クロップ:
// convert flower.jpg -crop 128×128+50+50 flower_crop.jpg $resource = NewMagickWand(); MagickReadImage( $resource, 'small_flower.jpg' ); if( MagickCropImage( $resource, 128, 128, 50, 50 ) ){ header( 'Content-Type: image/gif' ); MagickEchoImageBlob( $resource ); }else{ echo MagickGetExceptionString($resource); }
画像を回転:
// convert flower.jpg -rotate 45 flower_rotate45.jpg $resource = NewMagickWand(); MagickReadImage( $resource, 'small_flower.jpg' ); MagickRotateImage( $resource, null, 45 ); header( 'Content-Type: image/gif' ); MagickEchoImageBlob( $resource );
サイズ変更:
// convert flower_original.jpg -resize 640×480 flower.jpg $resource = NewMagickWand(); MagickReadImage( $resource, 'small_flower.jpg' ); MagickResizeImage( $resource, 100, 100, MW_QuadraticFilter, 1.0 ); header( 'Content-Type: image/gif' ); MagickEchoImageBlob( $resource );
シャープ化:
// convert flower.jpg -unsharp 1.5×1.0+1.5+0.02 flower_unsharp.jpg $resource = NewMagickWand(); MagickReadImage( $resource, 'small_flower.jpg' ); MagickUnsharpMaskImage( $resource, 1.5, 1.0, 1.5, 0.02 ); header( 'Content-Type: image/gif' ); MagickEchoImageBlob( $resource );
関連リンク
PHP 用 MagickWand (Windows+パッチ)
MagickWand for PHP マニュアル
PHP/Windows 用 MagickWand (php_magickwand_q16_st.dll)
添付:
ImageMagick と Magickwand とは何ですか?インストール方法は?
ImageMagick は画像処理用のプログラムです
Windows と Linux で実行可能
彼の機能は非常に強力です
サイズ、形式、透かし、ラベルなどのさまざまな画像処理を行うことができます。
たとえば、Linux で Convert --help
を実行します。
ImageMagick
の機能説明の一部をご覧いただけます
PHP プログラムでは、この ImageMagick プログラムを呼び出すこともできます
ただし、呼び出しフォームは PHP モジュール
を通じて実装されます。
このモジュールの名前は、magicwand
です。
多くのプログラマは、PHP の組み込み gd 画像関数ライブラリを使用する代わりに、magicwand に切り替えています
ImageMagick は非常に強力で、インストールされた rpm は Linux ディストリビューション CD に含まれています
ただし、システムに付属する ImageMagick のバージョンは通常非常に古いため、magikwand
と共存できません。
なので、自分で新しいものをインストールするしかありません
magicwand のコンパイルもさらに複雑になります
以下で詳しく説明します
環境の準備
---------------------<🎜>
PHP をコンパイルするための Magickwand モジュール環境には、PHP がすでにインストールされている必要があります
(後でphpでphpizeプログラムを使うため)
ImageMagick の最新バージョン (6.2 以降のバージョン) をダウンロードします
これは、Redhat に付属するバージョンが 5.x であり、magicwand
では使用できないためです。
したがって、6.2.x バージョンを自分でコンパイルして使用することしかできません
さらに、このパッケージは開発環境だけでなく、実際に実行されているサーバーでも必要です
ImageMagick-6.2.x バージョンを手動でコンパイルする必要もあります。
ImageMagick の公式 Web サイトからソースコード パッケージをダウンロードします (Google の最初の検索項目が公式 Web サイトです)
解凍後、設定してインストールします
./configure
LDFLAGS="-L/usr/lib" CPPFLAGS="-I/usr/include"
--prefix=/usr/local/ImageMagick
--enable-shared
--enable-lzw
作る
インストールを行う
以上でバージョン 6.2 ImageMagick のインストールは完了です
ダウンロード
---------------------<🎜>
Magickwandの公式Webサイトからソースコードパッケージをダウンロードします(Googleの最初の検索項目が公式Webサイトです)
php.net
から php ソース コードをダウンロードします。
php ソース コードを解凍し、magickwand も解凍して、php ソース コード
の下の ext/ ディレクトリに置きます。
例:/root/php-4.4.2/ext/magickwand
統合モジュール
---------------------<🎜>
なぜモジュールを統合するのでしょうか?これは、PHP に組み込まれている画像処理関数のライブラリが、magicwand
ではなく gd であるためです。
PHP構成スクリプトには
がまったく表示されません
たとえば、php のソース コード ルート ディレクトリに移動します。例:
cd /root/php-4.4.2
./configure --help grep magickwand
を実行します。
Magickwand に関する関連情報はまったくないことがわかります
したがって、直接コンパイルでは、magikwand モジュールのサポートを取得できません
したがって、Magickwandのソースコードをphp
のソースツリーに手動で追加する必要があります。
そして、configure スクリプトを再生成し、
をコンパイルします。
ディレクトリ cd /root/php-4.4.2/ext/magickwand
に入ります。
phpizeを実行
phpize コマンドは php パッケージ自体に含まれています。このマシンに php がインストールされていない場合、このコマンドは実行できません
(このため、プログラムは php がインストールされたサーバー上でコンパイルする必要があります)
次に、php
のソースコードのルートパスに戻ります。
cd /root/php-4.4.2
古い設定ファイルを削除します
rm ./configure
新しい設定ファイルを生成
./buildconf --force
このとき、phpソースコードディレクトリ
に新しいconfigureスクリプトが誕生しました。
このスクリプトを使用して PHP を設定およびコンパイルし、magicwand モジュール
を有効にします。
./configure --help grep magickwand を実行すると、以下が表示されます:
--with-magickwand=DIR Magickwand のサポートを含めます
これは、PHP
を設定してコンパイルすることでこのモジュールを有効にできることを意味します
コンパイルを構成する
---------------------<🎜>
次に、php を設定し、パラメーターを使用します:
./configure
--enable-shared
--with-magickwand=shared,/usr/local/ImageMagick
--enable-module=shared,magickwand
ここでは、enable-module メソッドを使用して so モジュール ファイルを取得し、他のサーバーのインストールを容易にします
次に
をコンパイルします
作る
数分待つだけで完了です
モジュールを取得
---------------------<🎜>
次に、php ソース コード ディレクトリに移動して、コンパイルしたばかりの so ファイルを見つけます
find /root/php-4.4.2 -name 'magickwand.so'
このファイルをコピーし、別のサーバーに配置して使用します
cp ./module/magickwand.so /root
本番環境へのインストール
---------------------<🎜>
実際に実行中のサーバーでは、まず前述の方法に従う必要があります
ImageMagick の 6.2.x バージョンをコンパイルし、サーバーにインストールします
次に、magickwand.so を php
のモジュール ディレクトリにコピーします。
たとえば、php:/usr/local/php4/lib/php
の as4 バージョンに対応します。
次に、php.ini に extension=magickwand.so
を追加します。たとえば、as4 バージョンに対応する php.ini は /usr/local/php4/etc/php.ini
にあります。
サービスを再起動せずに、保存して終了するだけです。

查看phpinfo()函数输出、使用命令行工具和检查PHP配置文件均可以查看php用了哪些扩展。1、查看phpinfo()函数输出,创建一个简单的PHP脚本,将这个脚本保存为phpinfo.php,并将其上传到您的Web服务器,在浏览器中访问此文件,使用浏览器的搜索功能,在页面中查找关键字"extension"或"extension_loaded",以找到有关扩展的信息即可。

如何使用PHP扩展SuiteCRM的报告生成功能SuiteCRM是一款功能强大的开源CRM系统,它提供了丰富的功能来帮助企业管理客户关系。其中一个重要的功能就是报告生成,使用报告可以帮助企业更好地了解业务情况,并作出正确的决策。本文将介绍如何使用PHP扩展SuiteCRM的报告生成功能,并提供相关的代码示例。在开始之前,需要确保已经安装好了SuiteCRM,

如何使用PHP扩展PDO连接Oracle数据库导语:PHP是一种非常流行的服务器端编程语言,而Oracle是一款常用的关系型数据库管理系统。本文将介绍如何使用PHP扩展PDO(PHPDataObjects)来连接Oracle数据库。一、安装PDO_OCI扩展要连接Oracle数据库,首先需要安装PDO_OCI扩展。以下是安装PDO_OCI扩展的步骤:确保

在使用PHP进行开发时,我们可能需要使用一些PHP扩展。这些扩展可以为我们提供更多的功能和工具,使我们的开发工作更加高效和便捷。但在使用这些扩展之前,我们需要先进行安装。本篇文章将为您介绍PHP扩展的安装方法。一、什么是PHP扩展?PHP扩展是指为PHP编程语言提供额外功能和服务的组件。这些组件可以通过PHP的扩展机制进行安装和使用。PHP扩展可以帮助我们处

PHP是一种流行的服务器端脚本语言,它可以处理网页上的动态内容。PHP的geoip扩展可以让你在PHP中获取有关用户位置的信息。在本文中,我们将介绍如何使用PHP的geoip扩展。什么是PHP的GeoIP扩展?PHP的geoip扩展是一个免费的、开源的扩展,它允许你获取有关IP地址和位置信息的数据。该扩展可以与GeoIP数据库一起使用,这是一个由MaxMin

宝塔面板是一款开源的服务器管理面板,在为网站运营者提供便捷的网站管理、数据库管理、SSL证书管理等服务的同时,还提供了强大的PHP扩展和PHP版本管理功能,让服务器管理变得更加简单和高效。一、PHP扩展PHP扩展是一种用来增强PHP功能的模块,通过安装PHP扩展可以实现更多的功能和服务,比如:加速器:加速器可以显著地提高PHP性能,通过缓存PHP脚本,减轻服

完全指南:如何使用PHP扩展SimpleXML读取和处理XML数据简介:在现代的Web开发中,处理和操作XML数据是一项非常常见的任务。PHP作为一种强大的服务器端脚本语言,提供了多种扩展和功能,用于处理和操作XML数据。其中,SimpleXML扩展是一种特别有用的工具,可以简化XML数据的读取和处理过程。本文将为您提供一个完整的指南,介绍如何使用PHP扩展

教程:使用极光推送及其PHP扩展在应用中添加消息推送功能引言:在如今的移动应用开发中,消息推送功能已经成为了各类应用必不可少的一部分。而极光推送则是这方面最常用、最受开发者欢迎的解决方案之一。本教程将介绍如何使用极光推送及其PHP扩展来在应用中添加消息推送功能,并提供相应的代码示例供参考。一、极光推送简介极光推送是一款基于云服务的、跨平台的消息推送解决方案。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

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

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

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

ホットトピック



