PHP 이미지 크기 조정 및 자르기 기술

지난 장에서 우리는 이미지의 워터마킹 기술을 배웠습니다. 워터마킹 기술은 사용되는 기능이 약간 변경된 것을 제외하면 이번 장에서 배울 스케일링 및 자르기 기술과 기본적으로 동일합니다.

일반적으로 사용되는 두 가지 기능은 다음과 같습니다.

函数名函数说明
imagecopyresampled重采样拷贝部分图像并调整大小
imagecopyresized拷贝部分图像并调整大小

이 두 가지 기능을 살펴보겠습니다. 이 두 가지 기능은 사용하기 어렵지 않습니다. 다만 매개변수가 조금 복잡할 뿐입니다. 그리고 이미지의 크기 조정 또는 자르기를 완료하려면 다음을 수행하세요.

bool imagecopyresampled(resource $ target image, Resource $ source image, int $ x 대상이 시작되는 위치, int $ y 대상이 시작되는 위치 , int $ source 시작 x 위치, int $ source 시작 y 위치, int $ 대상 이미지 너비, int $ 대상 이미지 높이, int $ 소스 이미지 너비, int $ 소스 이미지 높이)

상단 이미지와 하단 이미지의 매개변수는 동일하니 참고해주세요.

bool imagecopyreized(resource $ target image, Resource $ source image, int $ target start x position, int $ target start y position, int $ source start x position, int $ source start y position, int $width of target image, int $height of target image, int $width of source image, int $height of source image)

이미지 크기 조정 및 자르기 방법은 동일합니다. 예, 차이점은 복사할 때 사진 전체가 복사되는지 아니면 사진의 일부가 복사되는지입니다.

조작 지침:
원본 이미지의 시작점(x, y)부터 시작하여 이미지의 너비와 높이를 지정합니다. 대상 이미지의 시작점(x, y)에 배치하고 이미지의 너비와 높이를 지정합니다.

1. 이미지를 확대해서 단계별로 진행합니다


1. 원본 이미지를 엽니다

2. 이미지 배율(확대/축소) 설정

3. 원본 이미지를 가져와 비율에 따라 크기를 조정합니다.

4. 대상 이미지

5 .조정된 크기의 소스 이미지를 대상에 넣습니다

6. 리소스를 파괴합니다

Fan Bingbing 크기를 조정합니다:

20161114147910942958296b354976a.png

<?php

//打开来源图片
$image = imagecreatefrompng('fbb.png');


//定义百分比,缩放到0.1大小
$percent = 0.1;


// 将图片宽高获取到
list($width, $height) = getimagesize('fbb.png');

//设置新的缩放的宽高
$new_width = $width * $percent;
$new_height = $height * $percent;

//创建新图片
$new_image = imagecreatetruecolor($new_width, $new_height);

//将原图$image按照指定的宽高,复制到$new_image指定的宽高大小中
imagecopyresampled($new_image, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);

header('content-type:image/jpeg');
imagejpeg($new_image);
?>

999.png

2. 이미지를 자르고 작업을 다음 단계로 나눕니다.

1. 원본 이미지와 대상 이미지를 엽니다

2. 원본 이미지의 점을 가로채서 너비와 높이를 설정합니다. 대상 이미지에 넣습니다. (자르기)

3. 이미지 저장 후 입력

4. 리소스 삭제

아래 사진에서 "degree"라는 단어를 잘라내어 넣어보겠습니다. 허스키 얼굴:

바이두 로고:

document_2015-09-22_56010df4559d3.png

허스키 사진:

10.png

아이디어를 정리해 보겠습니다.

degree의 시작 좌표는 407, 154입니다.

degree라는 단어는 x에서 시작하고, 시작 너비는 및 y 좌표의 높이는: 80, 89

그림 속 허스키 얼굴의 x, y 좌표는: 281, 71

그림 속 허스키 얼굴의 x, y 좌표는 다음과 같습니다. 그림의 너비와 높이는 132, 160

우리는 모두 좌표와 너비, 높이를 알고 있습니다. 함수 사용법을 따르고 코드를 사용하여 이미지를 작동합니다.

<?php
 $dst = imagecreatefrompng('hsq.png');
 $src = imagecreatefrompng('du.png');
 imagecopyresized($dst, $src, 281, 71, 407, 154, 132, 160, 80, 90);
 header('content-type:image/jpeg'); 
imagejpeg($dst); 
imagedestroy($dst);
 imagedestroy($src);
 ?>

실험적 효과를 살펴보겠습니다:

document_2015-09-22_56011105316ee.png

지속적인 학습
||
<?php //打开来源图片 $image = imagecreatefrompng('fbb.png'); //定义百分比,缩放到0.1大小 $percent = 0.1; // 将图片宽高获取到 list($width, $height) = getimagesize('fbb.png'); //设置新的缩放的宽高 $new_width = $width * $percent; $new_height = $height * $percent; //创建新图片 $new_image = imagecreatetruecolor($new_width, $new_height); //将原图$image按照指定的宽高,复制到$new_image指定的宽高大小中 imagecopyresampled($new_image, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height); header('content-type:image/jpeg'); imagejpeg($new_image); ?>
  • 코스 추천
  • 코스웨어 다운로드
현재 코스웨어를 다운로드할 수 없습니다. 현재 직원들이 정리하고 있습니다. 앞으로도 본 강좌에 많은 관심 부탁드립니다~