現在の位置: ホーム> 最新記事一覧> ImageGetClipのトリミング後に透かしテキストを追加する方法は?ある記事では、それを行う方法を教えてくれます

ImageGetClipのトリミング後に透かしテキストを追加する方法は?ある記事では、それを行う方法を教えてくれます

gitbox 2025-05-28

1。ImageGetClipとは何ですか?

ImageGetClipは組み込みのPHP関数ではなく、通常、画像トリミングのユーザー定義関数です。この記事の関数を実現するために、ソース図から長方形の領域を切り取ることを目的とするImageGetClip()関数を定義するだけです。

2.トリミングと透かしの追加プロセスを完全に実現する

完全な手順は次のとおりです。

  1. ソースマップをロードします。

  2. 画像をトリミングします。

  3. テキストの透かしを追加します。

  4. 画像を出力または保存します。

以下は完全なコードの例です。

 <?php

function imagegetclip($src_path, $x, $y, $width, $height) {
    $src = imagecreatefromjpeg($src_path);
    $clip = imagecreatetruecolor($width, $height);
    imagecopy($clip, $src, 0, 0, $x, $y, $width, $height);
    return $clip;
}

function addTextWatermark($image, $text, $fontSize = 12, $color = [255, 255, 255], $x = 10, $y = 20) {
    $textColor = imagecolorallocate($image, $color[0], $color[1], $color[2]);
    imagestring($image, $fontSize, $x, $y, $text, $textColor);
    return $image;
}

// 例:画像の処理
$source_image = 'https://gitbox.net/images/sample.jpg';
$temp_path = '/tmp/temp.jpg';
file_put_contents($temp_path, file_get_contents($source_image));

$clip = imagegetclip($temp_path, 100, 100, 300, 200);
$clip_with_watermark = addTextWatermark($clip, 'gitbox.netエクスクルーシブ');

header('Content-Type: image/jpeg');
imagejpeg($clip_with_watermark);
imagedestroy($clip_with_watermark);
?>

3。説明

  • ImageGetClip()関数は、元の画像から指定された領域をクリップします。

  • addtextwatermark()関数透かしテキストを追加します。

  • Imagestring()を使用して追加された基本的なフォント。カスタムフォントとスタイルを使用する必要がある場合は、 ImagetTftext()を使用することをお勧めします。

  • リモート画像は、file_get_contents()から一時ディレクトリにダウンロードされます。

  • サーバーはGD拡張機能を有効にする必要があることに注意してください。

4。サプリメント:カスタムフォントを使用して、透かしテキストを美しくします

imagettftext($image, 16, 0, 10, 30, $textColor, '/path/to/font.ttf', 'gitbox.netエクスクルーシブ');

このコードは、 TTFフォントを使用して、より美しい透かしテキストを実現します。フォントパスが有効であり、中国語または必要な文字セットをサポートしていることを確認してください。