cari

php生成略缩图代码

Dec 01, 2016 am 10:00 AM

虽然在HTML中可以通过指定图片的宽度和高度来随意缩放图片,但是这种方法不会减少图片的像素数目。图形文件的尺寸没有改变,当然也不会加快图片下载的速度了。当然也可以手动通过图形软件生成图片的缩略图,但对于大量的图片展示来说,这个工作量将十分巨大。为此微缩图的自动生成程序就被设计出来了。 
PHP中提供的imagecopyresized函数就可以用来生成真正的缩赂图片。该函数的标推 
语法如下: 
语法:int imagecopyresized(int dst_im,int src_im,int dstX,int dstY, 
int srcX,int srcY,int dstW,int dstH,int srcW,int srcH); 

返回值:整数 
函数种类:图形处理 
内容说明:本函数可复制新图,并重新调整图片的大小尺寸。参数都是目的在前,来源在后。参数dst im及src_im为图片的handle。参数dstX、dstY、srcX、srcY分别为目的及来源的坐标。参数dstW、dstH、srcW、srcH分别为来源及目的的宽及高,欲调整的新图的尺寸就在这儿配置。 
下面举个例子来说明这个函数的用法,对应的程序thumb.php如程序清单12—5所示。 

程序清单12—5 thumb.php 
复制代码 代码如下: 
// 本函数从源文件取出图像,设定成指定大小,并输出到目的文件
// 源文件格式:gif,jpg,png
// 目的文件格式:gif
// $srcFile:源文件
// $dstFile: 目标文件
// $dstW:目标图片宽度
// $dstH:目标文件高度
function makethumb($srcFile,$dstFile,$dstW,$dstH)
{
$data = GetImageSize($srcFile,&$info);
switch ($data[2])
{
case 1:
$imgsrc = @ImageCreateFromGIF($srcFile);
break;
case 2:
$imgsrc = @ImageCreateFromJPEG($srcFile);
break;
case 3:
$imgsrc = @ImageCreateFromPNG($srcFile);
break;
}
$srcW = ImageSX($imgsrc);
$srcH = ImageSY($imgsrc);
$ni = ImageCreate($dstW,$dstH);
ImageCopyResized($ni,$imgsrc,0,0,0,0,$dstW,$dstH,$srcW,$srcH);
Imagegif($ni,$dstFile);
// 如果需要输出到浏览器,那么将上一句改为 ImageJpeg($ni);
// 如果需要其他格式的图片,改动最后一句就可以了
}
?> 

在这个例子中,首先通过getimagesize()函数获得源图片的情况,再用 imagecreatefromgif()、 
imagecreatefromjpeg()或imagecreatefrompng()创建一个源位图$imgsrc,然后用 
imagecreate()函数创建一个目标位图,其长、宽各是源位图的一半。然后调用imagecopyresized() 
函数,将源位图缩小后拷贝到目标位图中,最后再用imagegif()函数生成缩略图。 
这里所用到的图形处理函数就是由安装的GD库提供的,现对其分别进行说明。首先 
介绍getimagesize()函数,其标准语法如下。 
语法:array getimagesize(string filename,array [imageinfo]); 
返回值:数组 
函数种类:图形处理 
内容说明:本函数可用来取得GIF、JPEG及PNG 3种WWW上图片的高与宽,不需要安装GD library就可以便用本函数。返回的数组有4个元素,返回数组的第一个元素(索引值0)是图片的高度,单位是像素(pixel);第二个元素(索引值1)是图片的宽度;第三个元素(索引值2)是图片的文件格式,其值1为GIF格式、2为JPEG/JPG格式、3为PNG格式; 
第四个元素(索引值3)为图片的高与宽字符串,height=xxx width=yyy。 
通过getimagesize()函数的应用,能轻易获取图片的各种信息。下面给大家举一个获取图片宽度、高度、格式、文件大小的信息的例子,来进一步领会getimagesize()函数的使用 技巧。
程序imginfo如程序清单12—6所示。 

程序清单12-6 imginfo.php 
复制代码 代码如下: 
function getImageInfo($img) //$img为图像文件绝对路径
{
$img_info = getimagesize($img);
switch ($img_info[2])
{
case 1:
$imgtype = "GIF";
break;
case 2:
$imgtype = "JPG";
break;
case 3:
$imgtype = "PNG";
break;
}
$img_type = $imgtype."图像";
$img_size = ceil(filesize($img)/1000)."k"; //获取文件大小

$new_img_info = array (
"width"=>$img_info[0], 
"height"=>$img_info[1], 
"type"=>$img_type, 
"size"=>$img_size 
); 
print " width"; 
print $img_info[0]; 
print " height"; 
print $img_info[1]; 
print " format"; 
print $img_type; 
print " size"; 
print $img_size; 
print $new_img_info; 


$img = "/www/htdocs/images/jf.gif"; 
getImageInfo($img); 
?> 


在程序12-5中要创建一个缩略图,需要先创建一个用来绘图的空白的画布。 
ImageCreate函数可以做到这一点。它将返回一个图像的标识符,并且需要告诉函数用像素 
计算的画布有多大(x(宽度)与y(高度))。在程序12-5中用到的图形创建函数imagecreate() 
的标准语法如下: 
语法:int imagecreate(int x_size,int y_size); 
返回值:整数 
函数种类:图形处理 
内容说明:本函数用来建立一张全空的图形。参数x_size、y_size为图形的尺寸,单位 
为像素(pixel)。 

如果要从已经存在的图片中取出图片文件代码,可以用imagecreatefromgif()、 
imagecreatefromjpeg()或imagecreatefrompng(),例如函数imagecreatefromgif()就是从一个GIF 
格式的图片文件中取出对应的图片源代码,其标准语法如下: 
语法:int imagecreatefromgif(string filename); 
返回值:整数 
函数种类:图形处理 
内容说明:本函数用来取出一张GIF格式图形,通常作为背景或者基本的画布样本使 
用。参数filename可以是本地端的文件,也可以是网络的URL地址。返回值为GIF的文件 
代码,可供其他函数使用。 
在将源位图缩小后拷贝到目标位图中时,用到了imagecopyresized()函数,此函数可以 
复制新图并调整大小,其标准语法如下: 
语法:int imagecopyresized(int dst_im,int src_im,int dstX,int dstY,int srcX,int srcY, 
int dstW,int dstH,int srcW,int srcH); 
返回值:整数 
函数种类:图形处理 

内容说明:本函数可复制新图,并重新调整图片的大小尺寸。参数那是目的在前,来 
源在后。参数ddst_im及src_im为图片的handle。参数dstX、dstY、srcX、srcY分别为目的 
及来源的坐标。参数dstW、dstH、srcW、srcH分别为来源及目的的宽及高,若欲调整新图 
的尺寸就在这里配置。 
最后在输出图像时用到的imagegif()函数的标准语法如下: 
语法:int imagegif(int im,string [filename]); 
返问值:整数 
函数种类:图形处理 
内容说明:本函数用来建立一张GIF格式图形。参数im为使用ImageCreate()所建立 
的图片代码,参数filename可省略,若无本参数filename,则会将图片直接送到浏览器端, 
记得在送出图片之前要先送出使用Content-type:image/gif的标头字符串(header)到浏览器 
端,以顺利传输图片。若要使用透明背景的GIF图,也就是GIF89a的格式,需要先使用 
ImageColorTransparent()配置透明背景。本函数产生的GIF图,由于有版权的问题,因此 
在商业上的使用还要多加考虑。

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
PHP dan Python: Paradigma yang berbeza dijelaskanPHP dan Python: Paradigma yang berbeza dijelaskanApr 18, 2025 am 12:26 AM

PHP terutamanya pengaturcaraan prosedur, tetapi juga menyokong pengaturcaraan berorientasikan objek (OOP); Python menyokong pelbagai paradigma, termasuk pengaturcaraan OOP, fungsional dan prosedur. PHP sesuai untuk pembangunan web, dan Python sesuai untuk pelbagai aplikasi seperti analisis data dan pembelajaran mesin.

PHP dan Python: menyelam mendalam ke dalam sejarah merekaPHP dan Python: menyelam mendalam ke dalam sejarah merekaApr 18, 2025 am 12:25 AM

PHP berasal pada tahun 1994 dan dibangunkan oleh Rasmuslerdorf. Ia pada asalnya digunakan untuk mengesan pelawat laman web dan secara beransur-ansur berkembang menjadi bahasa skrip sisi pelayan dan digunakan secara meluas dalam pembangunan web. Python telah dibangunkan oleh Guidovan Rossum pada akhir 1980 -an dan pertama kali dikeluarkan pada tahun 1991. Ia menekankan kebolehbacaan dan kesederhanaan kod, dan sesuai untuk pengkomputeran saintifik, analisis data dan bidang lain.

Memilih antara php dan python: panduanMemilih antara php dan python: panduanApr 18, 2025 am 12:24 AM

PHP sesuai untuk pembangunan web dan prototaip pesat, dan Python sesuai untuk sains data dan pembelajaran mesin. 1.Php digunakan untuk pembangunan web dinamik, dengan sintaks mudah dan sesuai untuk pembangunan pesat. 2. Python mempunyai sintaks ringkas, sesuai untuk pelbagai bidang, dan mempunyai ekosistem perpustakaan yang kuat.

PHP dan Rangka Kerja: Memodenkan bahasaPHP dan Rangka Kerja: Memodenkan bahasaApr 18, 2025 am 12:14 AM

PHP tetap penting dalam proses pemodenan kerana ia menyokong sejumlah besar laman web dan aplikasi dan menyesuaikan diri dengan keperluan pembangunan melalui rangka kerja. 1.Php7 meningkatkan prestasi dan memperkenalkan ciri -ciri baru. 2. Rangka kerja moden seperti Laravel, Symfony dan CodeIgniter memudahkan pembangunan dan meningkatkan kualiti kod. 3. Pengoptimuman prestasi dan amalan terbaik terus meningkatkan kecekapan aplikasi.

Impak PHP: Pembangunan Web dan seterusnyaImpak PHP: Pembangunan Web dan seterusnyaApr 18, 2025 am 12:10 AM

Phphassignificantelympactedwebdevelopmentandextendsbeyondit.1) itpowersmajorplatformslikeworderpressandexcelsindatabaseIntions.2) php'SadaptabilityAldoStoScaleforlargeapplicationFrameworksLikelara.3)

Bagaimanakah jenis membayangkan jenis PHP, termasuk jenis skalar, jenis pulangan, jenis kesatuan, dan jenis yang boleh dibatalkan?Bagaimanakah jenis membayangkan jenis PHP, termasuk jenis skalar, jenis pulangan, jenis kesatuan, dan jenis yang boleh dibatalkan?Apr 17, 2025 am 12:25 AM

Jenis PHP meminta untuk meningkatkan kualiti kod dan kebolehbacaan. 1) Petua Jenis Skalar: Oleh kerana Php7.0, jenis data asas dibenarkan untuk ditentukan dalam parameter fungsi, seperti INT, Float, dan lain -lain. 2) Return Type Prompt: Pastikan konsistensi jenis nilai pulangan fungsi. 3) Jenis Kesatuan Prompt: Oleh kerana Php8.0, pelbagai jenis dibenarkan untuk ditentukan dalam parameter fungsi atau nilai pulangan. 4) Prompt jenis yang boleh dibatalkan: membolehkan untuk memasukkan nilai null dan mengendalikan fungsi yang boleh mengembalikan nilai null.

Bagaimanakah PHP mengendalikan pengklonan objek (kata kunci klon) dan kaedah sihir __clone?Bagaimanakah PHP mengendalikan pengklonan objek (kata kunci klon) dan kaedah sihir __clone?Apr 17, 2025 am 12:24 AM

Dalam PHP, gunakan kata kunci klon untuk membuat salinan objek dan menyesuaikan tingkah laku pengklonan melalui kaedah Magic \ _ _ _. 1. Gunakan kata kunci klon untuk membuat salinan cetek, mengkloning sifat objek tetapi bukan sifat objek. 2. Kaedah klon \ _ \ _ boleh menyalin objek bersarang untuk mengelakkan masalah menyalin cetek. 3. Beri perhatian untuk mengelakkan rujukan pekeliling dan masalah prestasi dalam pengklonan, dan mengoptimumkan operasi pengklonan untuk meningkatkan kecekapan.

PHP vs Python: Gunakan Kes dan AplikasiPHP vs Python: Gunakan Kes dan AplikasiApr 17, 2025 am 12:23 AM

PHP sesuai untuk pembangunan web dan sistem pengurusan kandungan, dan Python sesuai untuk sains data, pembelajaran mesin dan skrip automasi. 1.PHP berfungsi dengan baik dalam membina laman web dan aplikasi yang cepat dan berskala dan biasanya digunakan dalam CMS seperti WordPress. 2. Python telah melakukan yang luar biasa dalam bidang sains data dan pembelajaran mesin, dengan perpustakaan yang kaya seperti numpy dan tensorflow.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌
Akan R.E.P.O. Ada Crossplay?
1 bulan yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Versi Mac WebStorm

Versi Mac WebStorm

Alat pembangunan JavaScript yang berguna

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini

Dreamweaver Mac版

Dreamweaver Mac版

Alat pembangunan web visual