> 백엔드 개발 > PHP 문제 > PHP에서 이미지 바이너리 파일 크기를 수정하는 방법

PHP에서 이미지 바이너리 파일 크기를 수정하는 방법

PHPz
풀어 주다: 2023-04-03 11:32:01
원래의
658명이 탐색했습니다.

웹 개발 및 애플리케이션에서는 다양한 요구 사항과 목적을 달성하기 위해 이미지를 수정해야 하는 경우가 많습니다. 이미지의 바이너리 파일 크기(파일 볼륨)는 무시할 수 없는 중요한 요소입니다. 이미지가 너무 크면 웹 사이트나 애플리케이션의 성능과 로딩 속도가 저하되고 사용자 손실이 발생할 수도 있기 때문입니다. 이미지 파일의 크기 최적화가 매우 필요합니다. PHP는 강력한 프로그래밍 언어이자 네트워크 개발에서 일반적으로 사용되는 언어 중 하나입니다. 아래에서는 PHP를 사용하여 이미지의 바이너리 파일 크기를 수정하는 방법을 소개합니다.

1. 이미지의 바이너리 파일 크기를 수정해야 하는 이유는 무엇인가요?

웹 개발에서 이미지를 사용자에게 표시하는 방법은 여러 가지가 있으며, 가장 일반적인 두 가지 방법은 이미지를 페이지에 직접 로드하거나 사용자가 다운로드할 수 있도록 첨부 파일로 제공하는 것입니다. 이미지가 페이지에 직접 로드되면 웹페이지는 페이지 내용에 따라 이미지를 로드합니다. 이미지가 너무 크면 웹페이지 로딩 속도가 느려지고 최악의 경우 사용자 경험이 저하됩니다. 웹페이지가 충돌할 수 있습니다. 다운로드를 위해 사용자에게 첨부 파일로 제공하는 경우 이미지의 바이너리 파일 크기(파일 볼륨)가 너무 커서 다운로드 속도가 너무 느려 사용자 경험이 저하됩니다.

따라서 프로젝트의 이미지에 대해서는 바이너리 파일 크기(파일 볼륨)를 제어해야 합니다. 일반적인 방법은 이미지를 압축하고 최적화하는 것입니다. PHP 개발의 경우 GD 라이브러리를 사용하여 이미지의 바이너리 파일 크기를 수정할 수 있습니다.

2. GD 라이브러리 소개

GD 라이브러리는 C 언어로 작성되어 동적으로 이미지를 생성하는 데 사용되는 오픈 소스 라이브러리입니다. 이 라이브러리는 PNG, JPEG, GIF 및 기타 형식의 이미지를 처리할 수 있으며 크기 조정, 자르기, 회전, 텍스트 및 워터마크 추가 등의 작업을 통해 다양한 형식의 이미지를 생성할 수 있습니다. GD 라이브러리는 PHP의 GD 확장을 통해 지원될 수 있는 일련의 기능을 제공합니다.

3. PHP로 이미지 바이너리 파일의 크기를 수정하는 방법

PHP를 사용하여 이미지 바이너리 파일의 크기를 수정하는 방법은 주로 압축과 최적화를 통해 이루어집니다. 다음은 압축 및 최적화를 위해 PHP의 GD 라이브러리를 사용하는 두 가지 방법입니다.

1. 비율에 따라 이미지 크기를 조정합니다.

이 방법은 이미지의 가로 세로 비율을 변경하지 않고 유지할 수 있지만 이미지 크기는 비례적으로만 조정합니다.

코드 예:

<?php
$src_file = &#39;test.jpg&#39;;  // 图片的路径和名称
$dst_file = &#39;thumbnail.jpg&#39;; // 缩略图的路径和名称
$quality = 50; // 压缩后的图片质量,0~100,0 地表示压缩比最高
$max_width = 200;  // 图片最大的宽度

// 获取原始图片的宽和高
$size = getimagesize($src_file);
$src_width = $size[0];
$src_height = $size[1];

// 计算缩小比例
if($src_width > $max_width){
    $shrink = $max_width / $src_width;
} else{
    $shrink = 1;
}

// 计算缩略图的宽度和高度
$des_width = intval($src_width * $shrink);
$des_height = intval($src_height * $shrink);

// 创建图片资源
$src_image = imagecreatefromjpeg($src_file);
$des_image = imagecreatetruecolor($des_width, $des_height);

// 拷贝并缩放图片
imagecopyresampled($des_image, $src_image, 0, 0, 0, 0, $des_width, $des_height, $src_width, $src_height);

// 保存图片
imagejpeg($des_image, $dst_file, $quality);

// 释放图片资源
imagedestroy($src_image);
imagedestroy($des_image);
?>
로그인 후 복사

여기서 test.jpg 이미지는 비례적으로 크기가 조정됩니다. 크기 조정 후 최대 너비는 200픽셀이고, 저장된 이미지 이름은 Thumbnail.jpg이고 압축 품질은 50입니다.

참고: 이 방법을 사용하면 확대/축소할 때 이미지를 자르도록 선택할 수도 있습니다. 이미지를 확대하거나 축소할 때 투명도를 유지하는 PNG 형식 사용을 고려해야 합니다.

2. 사진 품질을 직접 조정

사진의 품질을 비교 측정하여 직접 수정된 사진으로 출력할 수 있는 방법입니다.

코드 예:

<?php
$src_file = &#39;test.jpg&#39;;  // 原始图片
$dst_file = &#39;optimize.jpg&#39;; // 优化后的图片
$quality = 50; // 压缩后的图片质量,0~100,0 地表示压缩比最高

// 创建图片资源
$src_image = imagecreatefromjpeg($src_file);

// 优化图片
imagejpeg($src_image, $dst_file,$quality);

// 释放图片资源
imagedestroy($src_image);
?>
로그인 후 복사

이 코드에서는 test.jpg 이미지의 압축 품질이 50으로 줄어들고 저장된 이미지의 이름은optim.jpg가 됩니다.

참고: 이 방법으로는 이미지 크기를 변경할 수 없습니다.

4. 요약

PHP 개발에서는 이미지의 바이너리 파일 크기를 수정하기 위해 GD 라이브러리를 사용하는 것이 매우 필요합니다. 이미지를 압축하고 최적화하면 이미지 크기를 효과적으로 줄일 수 있어 웹페이지 로딩 속도를 최적화하고 사용자 경험을 향상시킬 수 있습니다. 이 기사에서는 GD 라이브러리에 대한 소개와 GD 라이브러리를 사용하여 PHP에서 이미지의 바이너리 파일 크기를 수정하는 두 가지 방법을 소개합니다. 웹 개발을 하는 PHP 엔지니어들에게 도움이 되기를 바랍니다.

위 내용은 PHP에서 이미지 바이너리 파일 크기를 수정하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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