PHP는 이미지 사용자 정의, 중앙 정렬 및 자르기를 구현합니다.
이 글은 주로 PHP에서 구현된 사용자 정의 이미지 센터링 및 자르기 기능을 소개하고, 이미지 획득, 계산, 자르기, 저장 등의 PHP 관련 운영 기술을 예제 형식으로 분석합니다. 이 문서에서는 PHP에서 구현된 사용자 정의 이미지 중앙 자르기 기능을 설명합니다. 참고용으로 모든 사람과 공유하세요. 세부 사항은 다음과 같습니다.
이미지 중앙 정렬에 대한 일반적인 아이디어:1 먼저 크기가 조정된 이미지가 자르기 영역을 정확히 덮을 수 있도록 이미지 크기를 조정합니다. (imagecopyresampled — 이미지의 복사 부분을 리샘플링하고 크기를 조정합니다.)
2. 크기가 조정된 이미지를 잘린 영역 중앙에 배치합니다. (이미지 복사 - 이미지의 일부 복사)
3. 이미지를 자르고 저장합니다. (imagejpeg | imagepng | imagegif - 이미지를 브라우저 또는 파일로 출력)
특정 코드:
//==================缩放裁剪函数==================== /** * 居中裁剪图片 * @param string $source [原图路径] * @param int $width [设置宽度] * @param int $height [设置高度] * @param string $target [目标路径] * @return bool [裁剪结果] */ function image_center_crop($source, $width, $height, $target) { if (!file_exists($source)) return false; /* 根据类型载入图像 */ switch (exif_imagetype($source)) { case IMAGETYPE_JPEG: $image = imagecreatefromjpeg($source); break; case IMAGETYPE_PNG: $image = imagecreatefrompng($source); break; case IMAGETYPE_GIF: $image = imagecreatefromgif($source); break; } if (!isset($image)) return false; /* 获取图像尺寸信息 */ $target_w = $width; $target_h = $height; $source_w = imagesx($image); $source_h = imagesy($image); /* 计算裁剪宽度和高度 */ $judge = (($source_w / $source_h) > ($target_w / $target_h)); $resize_w = $judge ? ($source_w * $target_h) / $source_h : $target_w; $resize_h = !$judge ? ($source_h * $target_w) / $source_w : $target_h; $start_x = $judge ? ($resize_w - $target_w) / 2 : 0; $start_y = !$judge ? ($resize_h - $target_h) / 2 : 0; /* 绘制居中缩放图像 */ $resize_img = imagecreatetruecolor($resize_w, $resize_h); imagecopyresampled($resize_img, $image, 0, 0, 0, 0, $resize_w, $resize_h, $source_w, $source_h); $target_img = imagecreatetruecolor($target_w, $target_h); imagecopy($target_img, $resize_img, 0, 0, $start_x, $start_y, $resize_w, $resize_h); /* 将图片保存至文件 */ if (!file_exists(dirname($target))) mkdir(dirname($target), 0777, true); switch (exif_imagetype($source)) { case IMAGETYPE_JPEG: imagejpeg($target_img, $target); break; case IMAGETYPE_PNG: imagepng($target_img, $target); break; case IMAGETYPE_GIF: imagegif($target_img, $target); break; } // return boolval(file_exists($target));//PHP5.5以上可用boolval()函数获取返回的布尔值 return file_exists($target)?true:false;//兼容低版本PHP写法 }
//==================函数使用方式==================== // 原始图片的路径 $source = '../source/img/middle.jpg'; $width = 480; // 裁剪后的宽度 $height = 480;// 裁剪后的高度 // 裁剪后的图片存放目录 $target = '../source/temp/resize.jpg'; // 裁剪后保存到目标文件夹 if (image_center_crop($source, $width, $height, $target)) { echo "原图1440*900为:<img src='$source'>"; echo "<hr>"; echo "修改后图片480*480为:<img src='$target'>"; }
작동 효과:
원본 이미지 1440*900은
마찬가지로 480*320, 800*600 및 기타 크기의 사진은 해당 매개변수만 수정하면 됩니다.
첨부 파일: 코드 테스트 중에 발생한 문제
보고된 오류:정의되지 않은 함수 호출 extract_imagetype()
해결책:확장 프로그램 열기 ex=phptension_ex if.dll< /code></p><p> 그리고 <code>extension=php_exif.dll
extension=php_exif.dll
并将extension=php_mbstring.dll
,放到extension=php_exif.dll
前边
另:boolval()
앞에 extension=php_mbstring.dll
을 추가하세요:
boolval()< /code> 해당 함수는 PHP 버전 5.5 이상에서만 사용할 수 있는 함수입니다. 이 글의 테스트 코드는 그 이하 버전에서도 호환됩니다.
🎜🎜return file_exists($target)?true:false;
로그인 후 복사위 내용은 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)

뜨거운 주제











PHP 8.4는 상당한 양의 기능 중단 및 제거를 통해 몇 가지 새로운 기능, 보안 개선 및 성능 개선을 제공합니다. 이 가이드에서는 Ubuntu, Debian 또는 해당 파생 제품에서 PHP 8.4를 설치하거나 PHP 8.4로 업그레이드하는 방법을 설명합니다.

CakePHP에서 데이터베이스 작업은 매우 쉽습니다. 이번 장에서는 CRUD(생성, 읽기, 업데이트, 삭제) 작업을 이해하겠습니다.

CakePHP는 PHP용 오픈 소스 프레임워크입니다. 이는 애플리케이션을 훨씬 쉽게 개발, 배포 및 유지 관리할 수 있도록 하기 위한 것입니다. CakePHP는 강력하고 이해하기 쉬운 MVC와 유사한 아키텍처를 기반으로 합니다. 모델, 뷰 및 컨트롤러 gu

CakePHP에 로그인하는 것은 매우 쉬운 작업입니다. 한 가지 기능만 사용하면 됩니다. cronjob과 같은 백그라운드 프로세스에 대해 오류, 예외, 사용자 활동, 사용자가 취한 조치를 기록할 수 있습니다. CakePHP에 데이터를 기록하는 것은 쉽습니다. log() 함수는 다음과 같습니다.

VS Code라고도 알려진 Visual Studio Code는 모든 주요 운영 체제에서 사용할 수 있는 무료 소스 코드 편집기 또는 통합 개발 환경(IDE)입니다. 다양한 프로그래밍 언어에 대한 대규모 확장 모음을 통해 VS Code는
