PHP는 이미지를 고정된 크기의 코드 방법으로 자르기
홈페이지 호출 이미지를 만들 때, 홈페이지의 이미지 위치는 대개 디자이너가 지정하는 경우가 많기 때문에 고정된 크기의 이미지를 얻어야 하는 경우가 있습니다. 최신 릴리스 이미지를 호출하려면 무엇인지 알 수 없기 때문입니다. 고객이 업로드할 이미지의 비율이 너무 높기 때문에 이미지의 비율을 결정할 방법이 없는 경우가 종종 있습니다.프론트 엔드 페이지 작성자는 일반적으로 이미지가 넘치지 않도록 img 요소의 높이와 너비를 고정하는 방법을 사용합니다. 그러나 이미지의 비율이 요구되는 비율이 아닐 경우에는 호출 후 이미지가 변형되는 원인이 됩니다. 이는 페이지의 아름다움에 큰 영향을 미치게 됩니다. 크기가 조정된 이미지에는 필연적으로 공백이 생기기 마련입니다. 이렇게 하면 이미지가 변형되지는 않지만 사용자가 너무 많은 이미지를 보내는 경우 문제가 발생합니다. 키는 크지만 너비는 평균이고, 1:1 이미지로 압축하면 기본적으로 압축 후 이미지가 보이지 않습니다.
내 해결책은 이미지를 고정된 크기로 자르는 것입니다. 그러면 이미지가 변형되지 않으며, 이미지는 항상 공백 없이 채워집니다. bcastr은 변형 없이 이미지 호출을 보장한다는 것을 알고 있습니다. 고정 크기 출력 이미지 프레임의 경우 원본 이미지는 다음과 같은 상황에 처해 있습니다.
1: 출력할 이미지의 높이와 너비가 이미지의 높이와 너비보다 작습니다. $new_width<$src_width && $new_height<$src_width 판단으로 작성된 원본 이미지
2: 출력할 이미지의 높이와 너비가 원본 이미지의 높이와 너비보다 크다는 판단 $new_width> ;$src_width && $new_height>$src_width
3: 1차, 2차 2종 제외, 즉 확대와 축소를 동시에 하는 상황에 더해 동등성 판단
1과 2의 경우, 함수 처리 코드는 완전히 동일하므로
PHP 구현 코드를 제공하는
코드 복사 코드는 다음과 같습니다. 다음과 같습니다:
/*
* 설명: 이미지를 변형하지 않고 어떤 크기의 이미지로도 자르는 기능입니다.
* 매개변수 설명: 해당 파일을 입력하세요. 이름, 새 이미지의 저장 파일 이름 생성, 새 이미지의 너비 생성, 새 이미지의 높이 생성
* 작성자: smallchicken
* 시간 2008-12-18
*/
// 변형이나 공백을 남기지 않고 필요한 부분을 늘려 크고 작은 이미지를 가져옵니다.
function my_image_resize($src_file, $dst_file , $new_width , $new_height) {
if ($new_width <1 || $new_height < ;1) {
echo "params 너비 또는 높이 오류 !"
exit()
}
if(!file_exists($src_file) ) {
echo $src_file . "이(가) 존재하지 않습니다.";
exit();
}
// 이미지 유형
$type=exif_imagetype($src_file); support_type=array(IMAGETYPE_JPEG, IMAGETYPE_PNG, IMAGETYPE_GIF);
if(!in_array($type, $support_type,true)) {
echo "이 유형의 이미지는 지원하지 않습니다. jpg, gif 또는 png만 지원합니다." ;
exit();
}
//이미지 로드
switch($type) {
case IMAGETYPE_JPEG :
$src_img=imagecreatefromjpeg($src_file)
;
case IMAGETYPE_PNG:
$ src_img=imagecreatefrompng($src_file);
break;
case IMAGETYPE_GIF:
$src_img=imagecreatefromgif($src_file); 기본값:
echo "이미지 로드 오류!"
exit()
$w=imagesx($src_img)
$h=imagesy($src_img); >$ratio_w=1.0 * $new_width / $w ;
$ratio_h=1.0 * $new_height / $h;
$ratio=1.0
// 생성된 이미지의 높이와 너비가 더 작거나 큰 비율로 확대하고, 큰 비율로 축소하는 것이 원칙입니다(축소 비율은 상대적으로 작습니다)
if( ($ratio_w < 1 && $ratio_h < 1) || ( $ratio_w > 1 && $ratio_h > 1)) {
if($ratio_w < $ratio_h) {
$ratio = $ratio_h ; // 경우 1, 너비 비율이 높이 방향보다 작습니다. , 높이 비율 표준에 따라 자르기 또는 확대
}else {
$ratio = $ratio_w ;
}
// 가로 세로 비율이 대상 요구 사항을 정확히 충족하는 중간 임시 이미지 정의
$inter_w=(int)($new_width / $ratio );
$inter_h=(int) ($new_height / $ratio)
$inter_img=imagecreatetruecolor($inter_w , $inter_h)
imagecopy ($inter_img, $src_img, 0,0,0,0,$inter_w,$inter_h)
// 대상 이미지의 크기만큼 최대 변 길이를 갖는 임시 이미지를 생성합니다. $ratio
// 새 이미지 정의
$new_img=imagecreatetruecolor($new_width,$new_height)
imagecopyresampled($new_img,$inter_img,0,0,0,0,$new_width,$new_height,$inter_w,$inter_h) ;
switch($type) {
case IMAGETYPE_JPEG :
imagejpeg($new_img, $dst_file,100); // 이미지 저장
case IMAGETYPE_PNG :
imagepng( $new_img,$dst_file,100);
break;
case IMAGETYPE_GIF:
imagegif($new_img,$dst_file,100);
default:
break; 🎜>}
} // 1이면 종료
// 2 대상 이미지의 한 면은 원본 이미지보다 크고, 한 면은 원본 이미지보다 작습니다. 먼저 일반 이미지를 확대한 다음 잘라냅니다. 그것은
// =if( ($ratio_w < 1 && $ratio_h > 1 ) || ($ratio_w >1 && $ratio_h <1) )
else{
$ratio=$ ratio_h>$ratio_w? $ratio_h : $ratio_w; //비율이 큰 값을 취함
//대상 이미지와 높이나 너비가 동일한 큰 중간 이미지를 정의한 후 원본 이미지를 확대합니다
$inter_w=(int)($w * $ratio);
$inter_h=(int) ($h * $ratio)
$inter_img=imagecreatetruecolor($inter_w , $inter_h)
/ /크기 조정 후 원본 이미지 자르기
imagecopyresampled($inter_img,$src_img,0, 0,0,0,$inter_w,$inter_h,$w,$h)
//새 이미지 정의
$new_img=imagecreatetruecolor($new_width,$new_height);
imagecopy($ new_img, $inter_img, 0,0,0,0,$new_width,$new_height)
switch($type); >case IMAGETYPE_JPEG :
imagejpeg($new_img, $dst_file,100) / / 이미지 저장
break
case IMAGETYPE_PNG :
imagepng($new_img,$dst_file,100); break;
case IMAGETYPE_GIF :
imagegif($new_img,$dst_file, 100)
break;
기본값:
break; >}// 함수 종료
?>
위 내용은 관련 내용을 포함하여 PHP에서 그림을 고정된 크기로 자르는 코드 방법을 소개한 내용이 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











img 파일을 여는 방법에는 가상 광학 드라이브 소프트웨어 사용, 압축 소프트웨어 사용 및 특수 도구 사용이 포함됩니다. 자세한 소개: 1. 가상 광학 드라이브 소프트웨어를 사용하여 가상 광학 드라이브 소프트웨어를 열고, 다운로드하고, img 파일을 마우스 오른쪽 버튼으로 클릭하고, "다음 프로그램으로 열기" 또는 "관련 프로그램"을 선택하고, 팝업에서 설치된 가상 광학 드라이브 소프트웨어를 선택합니다. -up 대화 상자, 가상 광학 드라이브 소프트웨어는 img 파일을 자동으로 로드하고 가상 광학 드라이브에서 디스크 이미지로 사용합니다. 가상 광학 드라이브에서 디스크 아이콘을 두 번 클릭하면 img 파일을 열고 해당 콘텐츠에 액세스할 수 있습니다. 등.

img 파일을 여는 방법: 1. img 파일 경로를 확인합니다. 2. img 파일 오프너를 사용합니다. 3. 열기 방법을 선택합니다. 4. 사진을 봅니다. img 파일은 일반적으로 사진 데이터를 저장하는 데 사용되는 일반적으로 사용되는 이미지 파일 형식입니다.

img는 주로 플로피 디스크 이미지 파일을 생성하는 데 사용되는 파일 압축 형식입니다. 전체 플로피 디스크 또는 전체 CD의 내용을 압축하는 데 사용할 수 있으며 확장자가 ".IMG"인 파일은 이 파일 형식을 사용하여 생성됩니다. img 파일에는 "Ehfa_HeaderTag", "Ehfa_File" 및 "Ehfa_Entry"라는 3개의 기본 노드가 포함되어 있습니다.

U 디스크는 자주 사용되는 저장 장치 중 하나입니다. 사용 중에도 몇 가지 사소한 문제가 있습니다. 예를 들어 U 디스크를 어떻게 해결할 수 있습니까? USB 플래시 드라이브를 읽을 수 없습니까? 문제를 쉽게 해결하는 방법을 알려주는 4단계 USB 플래시 드라이브를 컴퓨터에 삽입한 후 시작 메뉴를 클릭하고 제어판을 선택한 후 치워두세요! USB 플래시 드라이브를 읽을 수 없습니까? 문제를 쉽게 해결하는 방법을 알려주는 4단계 제어판에서 장치 관리자를 찾아 두 번 클릭하세요. 보관해라! USB 플래시 드라이브를 읽을 수 없습니까? 문제를 쉽게 해결하는 방법을 알려주는 4단계 장치 관리자의 기본 인터페이스에서 범용 직렬 버스 컨트롤러를 찾아 치워두세요! USB 플래시 드라이브를 읽을 수 없습니까? USB 대용량 저장 장치를 쉽게 찾고, 선택하고, 마우스 오른쪽 버튼을 클릭하고, 제거를 찾아 치워두는 방법을 알려주는 4단계! USB 플래시 드라이브를 읽을 수 없습니까? 문제를 쉽게 해결하는 방법을 알려주는 4단계 토론을 위한 메시지를 남겨주세요!

jquery에서 img src 속성을 변경하는 방법: 1. attr() 속성을 사용하고 "$("img").attr("src","The address of the image file")" 구문을 사용합니다. prop() 메서드, 구문 " $("img").prop("src","이미지 파일의 주소")".

HTML에서 이미지 태그는 이미지를 정의하는 데 사용되는 태그, 즉 "<img>" 태그를 의미합니다. img 요소는 이미지를 웹 페이지에 포함할 수 있습니다. "<img>" 태그는 참조된 이미지에 대한 자리 표시자를 만들고 이미지를 HTML 페이지에 연결하는 데 사용됩니다. img 태그는 src 속성을 사용하여 URL을 지정합니다. 이미지를 표시합니다. 구문 "<img src="imageurl">".

1. 개념 Java 언어에서 "new" 표현식은 인스턴스를 생성하는 역할을 하며 생성자가 인스턴스를 초기화하기 위해 호출됩니다. 생성자 자체의 반환 값 유형은 "생성자가 새로 생성된 값을 반환합니다." 개체 참조"이지만 새 표현식의 값은 새로 생성된 개체에 대한 참조입니다. 2. 목적: 새 클래스의 객체를 생성합니다. 3. 작동 메커니즘: 객체 멤버에 대한 메모리 공간을 할당하고, 멤버 변수를 명시적으로 초기화하고, 생성 방법 계산을 수행하고, 참조 값을 자주 반환합니다. 메모리에서 새로운 메모리를 여는 것을 의미합니다. 메모리 공간은 메모리의 힙 영역에 할당되며 jvm에 의해 제어되며 자동으로 메모리를 관리합니다. 여기서는 String 클래스를 예로 사용합니다. 푸

차이점: 1. Make는 Slice, Map 및 chan 유형의 데이터를 할당하고 초기화하는 데만 사용할 수 있는 반면 new는 모든 유형의 데이터를 할당할 수 있습니다. 2. 새 할당은 "*Type" 유형인 포인터를 반환하고 make는 유형인 참조를 반환합니다. 3. new에 의해 할당된 공간은 지워집니다. make가 공간을 할당한 후에는 초기화됩니다.
