ホームページ > バックエンド開発 > PHPチュートリアル > PHPマスター| Imagicickを使用した画像透かし

PHPマスター| Imagicickを使用した画像透かし

William Shakespeare
リリース: 2025-03-01 09:42:10
オリジナル
208 人が閲覧しました

PHPマスター| Imagicickを使用した画像透かし

キーテイクアウト

    PHPのImagicicK拡張機能は、透かしの画像を簡単かつ効率的にする関数を提供します。開始する前に、イメージック拡張機能がホストで利用可能であることを確認し、透かしの有効性をテストするための写真をいくつか用意してください。
  • 効果的な透かしは、元の画像を見るのに十分な透明で、元の画像のかなりの部分をカバーするのに十分な大きさでコントラストがあるはずです。透かしとして使用するには、約40%の不透明度を持つPNGファイルがお勧めします。
  • 透かしを追加するには、元の画像と透かしを開き、画像の透かしをオーバーレイし、結果を保存または出力することが含まれます。元の画像のサイズが異なる場合は、透かしを拡大して画像の中心に配置する必要がある場合があります。 Imagicicは、これらの操作を容易にするために包括的な画像処理APIを提供します。
  • あなたの友人がいつかあなたに近づき、彼女が彼女の写真を紹介できるように彼女にウェブサイトを構築してほしいと想像してください。彼女は、人々が簡単に盗むことができないように、写真を簡単にアップロードして透かして透けていることを望んでいます。 "心配しないで!"あなたは彼女に言います。なぜなら、あなたは、PHPの透かしの画像を簡単にするイメージック拡張機能によって提供される機能があることを知っているからです。 この記事では、効果的な透かしを作るものに関するいくつかのポインターを共有し、イメージック関数を使用して画像に透かしを追加する方法を示します。始める前に、ホストでImagicick拡張機能が利用可能であることを確認してください。また、透かしをテストして有効性を測定できる写真をいくつか見つけることをお勧めします。
  • 良い透かしを作る
  • 透かしが効果的であるためには、さまざまな背景に対して見える必要があります。非常に明るいテスト写真と非常に暗い別のテスト写真を見つけようとすることをお勧めします。たとえば、Shutterstockからのこれらの2つのプレーリードッグの写真は、良いテストペアになります。

透かしが元の画像を見ることができるほど透明であることが重要ですが、不cru慎な人が削除するのは困難です。 40%の不透明度レベルはおそらく良い出発点であり、状況に応じてそれを増やしたり減らすことができます。 また、透かしを十分に大きくしたいです。右下隅に小さな透かしを置くだけなら、それはトリミングされるための主要なターゲットです。元の画像の大部分をカバーする透かしがより効果的です。 IstockphotoとShutterstockがどのように彼らの仕事を透かして透かして透けているかを参照してください。 最後に、透かしにはコントラストが必要です。軽いストロークまたはビザの逆で透かしを暗くすることを検討してください。これは、IstockphotoとShutterstockが行うことであり、元の画像が明るくても暗いかどうかにかかわらず、それらのマークはすべての画像に簡単に表示されます。 この記事では、これを透かし、約40%の不透明なPNGファイルとして使用します。

PHPマスター| Imagicickを使用した画像透かし

透かしの追加

透かしを追加することは簡単な4段階のプロセスです。最初に元の画像を開き、次にウォーターマークを開き、最初の画像の上に透かしをオーバーレイしてから、結果を保存または出力します。これがコードです:
<span><span><?php
</span></span><span><span>// Open the original image
</span></span><span><span>$image = new Imagick();
</span></span><span><span>$image->readImage("/path/to/image.jpg");
</span></span><span>
</span><span><span>// Open the watermark
</span></span><span><span>$watermark = new Imagick();
</span></span><span><span>$watermark->readImage("/path/to/watermark.png");
</span></span><span>
</span><span><span>// Overlay the watermark on the original image
</span></span><span><span>$image->compositeImage($watermark, imagick<span>::</span>COMPOSITE_OVER, 0, 0);
</span></span><span>
</span><span><span>// send the result to the browser
</span></span><span><span>header("Content-Type: image/" . $image->getImageFormat());
</span></span><span><span>echo $image;</span></span>
ログイン後にコピー
ログイン後にコピー
Imagicickクラスの新しいインスタンスを作成し、そのreadimage()メソッドを使用して、パスから画像を開くことができます。 Imagicickの良い点の1つは、ImageMagickがサポートするためにコンパイルされたファイルのいつでも開くことができることです。そのため、ファイルがJPEGまたはPNGであることを明示的に伝える必要はありません。それ自体でそれを理解するのに十分賢いです。 ウォーターマーク画像をオーバーレイするには、CompositeImage()メソッドを使用します。この例では、メソッドは4つのパラメーターを受け入れます。1つ目はオーバーレイされる画像、2つ目は、イメージックが実行すべき組成操作のタイプを表す定義済みの定数であり(異なる効果を達成するために選択できる全体のスリーがあります)、3番目と4番目のパラメーターは、トップレフトコーナーからピクセルで測定された透かしを配置するXおよびY座標です。 デフォルトでは、PHPはスクリプトの出力がHTMLであると想定し、A TEXT/HTMLContent-Typeヘッダーを自動的に送信します。画像を出力すると、ヘッダーがテキストを送信していることを伝えているため、ブラウザは適切に処理されません。訪問者がGibberishのページで迎えられないようにするには、画像を送信する前にHeader()を使用してより適切なヘッダーを送信するようにPHPに指示する必要があります。コンテンツタイプのヘッダーの値をハードコーディングする代わりに、この例では、Imagick自体を使用して画像のタイプにアクセスし、その後、適切なMimeタイプをその場で構築するために使用されます。 これが最終結果、透かし式画像です。

PHPマスター| Imagicickを使用した画像透かし

透かしのスケーリング

前の例では、元の画像の左上に透かしを配置し​​ました。元の画像のサイズを事前に知っていれば、このアプローチは問題ありませんが、適切な寸法を備えた透かしを作成できるため、元の画像のサイズが異なる場合に備えて、より堅牢なアプローチが必要になる場合があります。このようなアプローチは、透かしを画像の中央に配置し、元の画像よりも大きい場合は事前に透かしをスケーリングすることです。
<span><span><?php
</span></span><span><span>// Open the original image
</span></span><span><span>$image = new Imagick();
</span></span><span><span>$image->readImage("/path/to/image.jpg");
</span></span><span>
</span><span><span>// Open the watermark
</span></span><span><span>$watermark = new Imagick();
</span></span><span><span>$watermark->readImage("/path/to/watermark.png");
</span></span><span>
</span><span><span>// Overlay the watermark on the original image
</span></span><span><span>$image->compositeImage($watermark, imagick<span>::</span>COMPOSITE_OVER, 0, 0);
</span></span><span>
</span><span><span>// send the result to the browser
</span></span><span><span>header("Content-Type: image/" . $image->getImageFormat());
</span></span><span><span>echo $image;</span></span>
ログイン後にコピー
ログイン後にコピー
getImageWidth() getImageHeight()メソッドは、ピクセルで測定された画像の幅と高さをそれぞれ返します。ウォーターマーク画像の幅と高さを元の画像の画像と比較することにより、透かしをサイズ変更する必要があるかどうかを判断して、小さな画像に適合するかどうかを判断できます。 透かしの変更は、許可された幅と高さをとるScaleImage()メソッドを呼び出すことで実現されます。このメソッドは、画像のアスペクト比を維持しながら、最大幅が許容幅より大きくなく、最大高さが許容された高さよりも大きくないように画像を縮小します。 そして、これがこの例から生じる透かしの画像です:

PHPマスター| Imagicickを使用した画像透かし

要約

Imagicickライブラリは、包括的な画像処理APIを提供します。実際、画像ファイルを開き、寸法と画像形式を決定し、それらを拡大し、他のものの上にオーバーレイするのがどれほど簡単かを見てきました。 通常、拡張機能の機能について詳しく知りたい場合は、PHP.NETのドキュメントをお勧めしますが、ImagicICKの場合、ドキュメントはむらがあります。多くの方法には、パラメーターリストのみが与えられています。そのため、詳細を知りたい場合は、PHP.NETはまだ開始するのに適した場所ですが、ImageMagickサイト自体とGoogleで、他の形式(コマンドラインアプリケーションなど)のメソッドの詳細を探す必要がある場合があります。 画像の透過に関するよくある質問(FAQ)

画像の透かしの目的は何ですか?

透かし式画像は複数の目的を果たします。主に、それはデジタルまたは知的財産を保護する方法であり、正当な所有者に正当な信用を与えることなく、画像の不正使用または複製を防ぐ方法です。透かしは、画像の作成者を識別するロゴ、署名、またはスタンプです。また、画像が共有または使用されるたびに作成者のブランドを微妙に宣伝するマーケティングツールとしても機能します。

自分の画像の透かしを作成するにはどうすればよいですか?

画像の透かしを作成する方法はいくつかあります。 Adobe Photoshopのようなグラフィックデザインソフトウェアや、watermark.wsなどの無料のオンラインツールを使用できます。これらのプラットフォームを使用すると、ロゴやテキストをアップロードし、その不透明度を調整して透かしを作成できます。その後、この透かしを保存して画像に適用できます。

透かしは画像から削除できますか?

特定のソフトウェアを使用して画像から透かしを削除することは技術的には可能ですが、一般に非倫理的で潜在的に違法と見なされます。透かしの目的は、作成者の知的財産権を保護することです。それを削除することは、これらの権利を侵害し、法的結果につながる可能性があります。

特定のソフトウェアやオンラインツールでは、一度に複数の画像を一度に透かして透かして透かして可能です。これらを使用すると、複数の画像をアップロードして、それらすべてに一度に透かしを適用して、時間と労力を節約できます。このようなツールの例には、Watermark.WSとVisual Watermarkが含まれます。

透かしはどこに配置すればよいですか?

​​

透かしの配置は、あなたの好みと画像自体に依存します。ただし、一般に、簡単に見ることができるが、画像から気を散らすことはない場所に配置することをお勧めします。一般的な配置には、右下または左隅、または画像の中心を越えて含まれます。

透かしの外観をカスタマイズできますか?

​​

はい、ほとんどの透かしツールを使用すると、透かしの外観をカスタマイズできます。通常、サイズ、色、不透明度、および位置を調整できます。また、一部のツールでは、影や輝きなどのエフェクトを追加することもできます。

透かしの画像が必要ですか?

ウォーターマーク画像が特定のニーズや懸念に依存する個人的な決定であるかどうか。画像の盗難を心配している場合、またはブランドの可視性を高めたい場合、透かしは有益です。ただし、一部の作成者は、自分の作品のきれいで遮るもののない見方を維持するために画像に透かしを透けないことを選択します。ただし、これは全体的な画像を損なう可能性があるため、透かしが過度に侵入したり気を散らしたりしないようにすることが重要です。 Adobe Premiere Proのようなビデオ編集ソフトウェアやKapwingなどのオンラインツールを使用すると、透かしをビデオに追加できます。透かしは、画像が著作権で保護されていることを示しており、作成者の同意なしにそれを使用することは著作権侵害と見なすことができます。透かし式画像を使用する前に許可を求めることが常に最善です。

以上がPHPマスター| Imagicickを使用した画像透かしの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート