PHP를 사용하여 이미지를 자르고 크기를 조정하는 방법

王林
풀어 주다: 2023-08-18 13:06:01
원래의
1965명이 탐색했습니다.

PHP를 사용하여 이미지를 자르고 크기를 조정하는 방법

PHP를 사용하여 이미지를 자르고 확대/축소하는 방법

소개: 웹 개발에서는 이미지를 자르고 확대/축소해야 하는 경우가 많습니다. 널리 사용되는 서버측 언어인 PHP는 이미지에 대한 다양한 작업을 수행할 수 있도록 다양한 이미지 처리 기능과 라이브러리를 제공합니다. 이 기사에서는 PHP를 사용하여 이미지를 자르고 확대/축소하는 방법을 소개하고 해당 코드 예제를 제공합니다.

1. 사진 자르기

사진 자르기는 원본 사진에서 필요한 부분을 잘라내는 것을 의미합니다. PHP에서는 GD 라이브러리에서 제공하는 기능을 사용하여 이미지 자르기를 수행할 수 있습니다.

1단계: 원본 이미지 열기

먼저 원본 이미지를 열고 imagecreatefromjpeg() 또는 imagecreatefrompng()와 같은 함수를 사용하여 이미지 리소스를 생성해야 합니다. . imagecreatefromjpeg()imagecreatefrompng()等函数创建一个图片资源。

$sourceImage = imagecreatefromjpeg('original.jpg');
로그인 후 복사
로그인 후 복사

步骤2:创建目标图片

接下来,我们需要创建一个目标图片,作为裁剪后的结果。可以使用imagecreatetruecolor()函数创建一个与原始图片一样大小的图片资源。

$width = imagesx($sourceImage);
$height = imagesy($sourceImage);

$targetImage = imagecreatetruecolor($width, $height);
로그인 후 복사

步骤3:裁剪图片

使用函数imagecopy()将原始图片中的一部分复制到目标图片中。需要传入原始图片资源、目标图片资源、目标图片的起始坐标和原始图片的起始坐标。下面以从原始图片中截取中间一部分作为示例。

$targetX = 0;
$targetY = 0;
$sourceX = $width / 4;
$sourceY = $height / 4;
$targetWidth = $width / 2;
$targetHeight = $height / 2;
$sourceWidth = $width / 2;
$sourceHeight = $height / 2;

imagecopy($targetImage, $sourceImage, $targetX, $targetY, $sourceX, $sourceY, $targetWidth, $targetHeight);
로그인 후 복사

步骤4:保存结果图片

最后,我们需要将裁剪后的结果保存到文件中。使用imagejpeg()函数将目标图片保存为JPEG格式的文件。

imagejpeg($targetImage, 'cropped.jpg');
로그인 후 복사

至此,我们完成了对图片的裁剪操作。

二、缩放图片

缩放图片是指按照一定比例改变图片的尺寸。在PHP中,我们可以使用GD库提供的函数来实现图片的缩放。

步骤1:打开原始图片

同样,我们首先需要使用imagecreatefromjpeg()imagecreatefrompng()等函数打开原始图片。

$sourceImage = imagecreatefromjpeg('original.jpg');
로그인 후 복사
로그인 후 복사

步骤2:计算缩放后的尺寸

计算出目标图片的宽度和高度,可以按比例缩放或指定固定的尺寸。

$scale = 0.5; // 缩放比例,此处为缩小一半
$targetWidth = imagesx($sourceImage) * $scale;
$targetHeight = imagesy($sourceImage) * $scale;
로그인 후 복사

步骤3:创建目标图片

在创建目标图片时,需要使用imagecreatetruecolor()函数指定目标图片的尺寸。

$targetImage = imagecreatetruecolor($targetWidth, $targetHeight);
로그인 후 복사

步骤4:缩放图片

使用函数imagecopyresampled()将原始图片按照指定的尺寸缩放到目标图片中。

imagecopyresampled($targetImage, $sourceImage, 0, 0, 0, 0, $targetWidth, $targetHeight, imagesx($sourceImage), imagesy($sourceImage));
로그인 후 복사

步骤5:保存结果图片

最后,使用imagejpeg()imagepng()

imagejpeg($targetImage, 'resized.jpg');
로그인 후 복사
2단계: 대상 이미지 만들기

다음으로 자른 결과로 대상 이미지를 만들어야 합니다. imagecreatetruecolor() 함수를 사용하여 원본 이미지와 동일한 크기의 이미지 리소스를 생성할 수 있습니다.

rrreee

3단계: 이미지 자르기

imagecopy() 함수를 사용하여 원본 이미지의 일부를 대상 이미지에 복사합니다. 원본 이미지 리소스, 대상 이미지 리소스, 대상 이미지의 시작 좌표, 원본 이미지의 시작 좌표를 전달해야 합니다. 다음은 원본 이미지에서 중간 부분을 캡쳐한 예입니다.
    rrreee
  • 4단계: 결과 이미지 저장
  • 마지막으로 자른 결과를 파일에 저장해야 합니다. imagejpeg() 함수를 사용하여 대상 이미지를 JPEG 형식 파일로 저장합니다.
  • rrreee
이제 이미지 자르기 작업이 완료되었습니다. 🎜🎜2. 사진 확대🎜🎜사진 확대는 특정 비율에 따라 사진의 크기를 변경하는 것을 의미합니다. PHP에서는 GD 라이브러리에서 제공하는 기능을 사용하여 이미지 크기 조정을 달성할 수 있습니다. 🎜🎜1단계: 원본 이미지 열기🎜🎜마찬가지로 먼저 imagecreatefromjpeg() 또는 imagecreatefrompng()와 같은 함수를 사용하여 원본 이미지를 열어야 합니다. 🎜rrreee🎜2단계: 조정된 크기 계산🎜🎜대상 이미지의 너비와 높이를 계산합니다. 비율에 맞게 조정하거나 고정 크기를 지정할 수 있습니다. 🎜rrreee🎜3단계: 대상 이미지 생성🎜🎜대상 이미지를 생성할 때 imagecreatetruecolor() 함수를 사용하여 대상 이미지의 크기를 지정해야 합니다. 🎜rrreee🎜4단계: 이미지 크기 조정🎜🎜imagecopyresampled() 함수를 사용하여 지정된 크기에 따라 원본 이미지를 대상 이미지로 크기를 조정합니다. 🎜rrreee🎜5단계: 결과 이미지 저장🎜🎜마지막으로 imagejpeg() 또는 imagepng()와 같은 함수를 사용하여 대상 이미지를 파일로 저장합니다. 🎜rrreee🎜 님이 사진 확대 작업을 완료했습니다. 🎜🎜요약: 이 기사에서는 원본 이미지 열기, 대상 이미지 생성, 이미지 자르기 및 크기 조정, 결과 이미지 저장을 포함하여 PHP를 사용하여 이미지를 자르고 확대/축소하는 방법을 소개합니다. PHP에서 제공하는 GD 라이브러리 함수를 이용하면 이미지에 대한 다양한 연산을 쉽게 구현할 수 있습니다. 이 글이 이미지 처리를 위한 PHP를 이해하고 사용하는 데 도움이 되기를 바랍니다. 🎜🎜참고자료: 🎜🎜🎜PHP 공식 문서: http://php.net/manual/en/ref.image.php 🎜🎜GD 라이브러리 참조 매뉴얼: http://php.net/manual/en/book 이미지. .php🎜🎜

위 내용은 PHP를 사용하여 이미지를 자르고 크기를 조정하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿