현재 위치: > 최신 기사 목록> 이미지 자르기 후 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 ()을 사용하여 추가 된 기본 글꼴. 사용자 정의 글꼴과 스타일을 사용해야하는 경우 imagetftext ()를 사용하는 것이 좋습니다.

  • 원격 이미지는 file_get_contents () 를 통해 임시 디렉토리로 다운로드됩니다.

  • 서버는 GD 확장을 활성화해야합니다.

4. 보충 : 사용자 정의 글꼴을 사용하여 워터 마크 텍스트를 아름답게합니다

 imagettftext($image, 16, 0, 10, 30, $textColor, '/path/to/font.ttf', 'gitbox.net독점적인');

이 코드는 TTF 글꼴을 사용하여 더 아름다운 워터 마크 텍스트를 달성합니다. 글꼴 경로가 유효하고 중국어 또는 필요한 문자 세트를 지원하십시오.