Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk mengubah suai saiz fail binari imej dalam php

Bagaimana untuk mengubah suai saiz fail binari imej dalam php

PHPz
PHPzasal
2023-04-03 11:14:59639semak imbas

Dalam pembangunan web dan aplikasi, kita selalunya perlu mengubah suai imej untuk mencapai keperluan dan tujuan yang berbeza. Saiz fail binari (volume fail) imej adalah faktor penting yang tidak boleh kita abaikan, kerana imej yang terlalu besar akan mengurangkan prestasi dan kelajuan memuatkan laman web atau aplikasi, malah boleh menyebabkan kehilangan pengguna saiz fail imej Pengoptimuman sangat diperlukan. PHP adalah bahasa pengaturcaraan yang berkuasa dan salah satu bahasa yang biasa digunakan dalam pembangunan rangkaian Di bawah saya akan memperkenalkan kepada anda cara menggunakan PHP untuk mengubah suai saiz fail binari.

1. Mengapa anda perlu mengubah suai saiz fail binari imej?

Dalam pembangunan web, terdapat banyak cara untuk memaparkan imej kepada pengguna, dan dua kaedah yang paling biasa ialah memuatkan imej terus ke dalam halaman atau menyediakannya sebagai lampiran untuk dimuat turun oleh pengguna. Apabila menggunakan imej untuk dimuatkan terus ke halaman, halaman web akan memuatkan imej berdasarkan kandungan halaman Jika imej terlalu besar, kelajuan memuatkan halaman web akan menjadi perlahan dan pengalaman pengguna akan berkurangan , ia boleh menyebabkan halaman web ranap. Apabila disediakan sebagai lampiran kepada pengguna untuk dimuat turun, kerana saiz fail binari (jumlah fail) imej terlalu besar, kelajuan muat turun akan menjadi terlalu perlahan, mengakibatkan pengalaman pengguna yang lemah.

Oleh itu, untuk imej dalam projek, kita mesti mengawal saiz fail binarinya (volume fail). Kaedah biasa adalah untuk memampatkan dan mengoptimumkan imej. Untuk pembangunan PHP, anda boleh menggunakan perpustakaan GD untuk mengubah suai saiz fail binari imej.

2. Pengenalan kepada perpustakaan GD

Pustaka GD ialah perpustakaan sumber terbuka yang ditulis dalam bahasa C dan digunakan untuk mencipta imej secara dinamik. Pustaka ini boleh memproses imej dalam PNG, JPEG, GIF dan format lain serta menjana imej dalam pelbagai format melalui operasi seperti penskalaan, pemangkasan, putaran, penambahan teks dan tera air. Pustaka GD menyediakan satu siri fungsi yang boleh disokong melalui sambungan GD PHP.

3. Bagaimana untuk mengubah suai saiz fail binari imej dengan PHP

Kaedah menggunakan PHP untuk mengubah suai saiz fail binari imej adalah terutamanya melalui pemampatan dan pengoptimuman. Berikut ialah dua kaedah menggunakan pustaka GD PHP untuk mencapai pemampatan dan pengoptimuman:

1 Laraskan saiz imej mengikut perkadaran

Kaedah ini boleh memastikan nisbah aspek imej tidak berubah, tetapi hanya. laraskan saiz imej. Imej diskalakan secara berkadar.

Contoh kod:

<?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);
?>

Di sini, imej test.jpg diskalakan secara berkadaran Lebar maksimum selepas penskalaan ialah 200 piksel Nama imej yang disimpan ialah thumbnail.jpg, dan pemampatan kualiti ialah 50 .

Nota: Menggunakan kaedah ini, anda juga boleh memilih untuk memangkas imej semasa mengezum. Anda harus mempertimbangkan untuk menggunakan format PNG, yang mengekalkan ketelusan apabila imej dibesarkan atau dikecilkan.

2. Laraskan kualiti gambar secara langsung

Kaedah ini boleh membandingkan dan mengukur kualiti gambar dan mengeluarkannya secara langsung sebagai gambar yang diubah suai.

Contoh kod:

<?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);
?>

Dalam kod ini, kualiti mampatan imej test.jpg dikurangkan kepada 50 dan nama imej yang disimpan ialah optimize.jpg.

Nota: Sila ambil perhatian bahawa kaedah ini tidak boleh menukar saiz imej.

4. Ringkasan

Dalam pembangunan PHP, adalah sangat perlu untuk menggunakan perpustakaan GD untuk mengubah suai saiz fail binari imej. Dengan memampatkan dan mengoptimumkan imej, saiz imej boleh dikurangkan dengan berkesan, dengan itu mengoptimumkan kelajuan memuatkan halaman web dan meningkatkan pengalaman pengguna. Artikel ini memperkenalkan pengenalan kepada perpustakaan GD dan dua kaedah menggunakan perpustakaan GD untuk mengubah suai saiz fail binari imej dalam PHP. Saya harap ia akan membantu jurutera PHP yang melakukan pembangunan web.

Atas ialah kandungan terperinci Bagaimana untuk mengubah suai saiz fail binari imej dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn