php生成縮略圖
Jun 08, 2016 pm 05:33 PM自動(dòng)微縮圖的生成
????由于圖片的數(shù)據(jù)量比較大,傳遞過程相對(duì)較長(zhǎng),所以在用戶瀏覽圖片時(shí),常常希望先
顯示一個(gè)圖片的縮略圖。
????雖然在HTML中可以通過指定圖片的寬度和高度來隨意縮放圖片,但是這種方法不會(huì)
減少圖片的像素?cái)?shù)目。圖形文件的尺寸沒有改變,當(dāng)然也不會(huì)加快圖片下載的速度了。當(dāng)
然也可以手動(dòng)通過圖形軟件生成圖片的縮略圖,但對(duì)于大量的圖片展示來說,這個(gè)工作量
將十分巨大。為此微縮圖的自動(dòng)生成程序就被設(shè)計(jì)出來了。
????PHP中提供的imagecopyresized函數(shù)就可以用來生成真正的縮賂圖片。該函數(shù)的標(biāo)推
語(yǔ)法如下:
????語(yǔ)法:int imagecopyresized(int dst_im,int src_im,int dstX,int dstY,
int srcX,int srcY,int dstW,int dstH,int srcW,int srcH);
??返回值:整數(shù)
??函數(shù)種類:圖形處理
??內(nèi)容說明:本函數(shù)可復(fù)制新圖,并重新調(diào)整圖片的大小尺寸。參數(shù)都是目的在前,來
源在后。參數(shù)dst im及src_im為圖片的handle。參數(shù)dstX、dstY、srcX、srcY分別為目的
及來源的坐標(biāo)。參數(shù)dstW、dstH、srcW、srcH分別為來源及目的的寬及高,欲調(diào)整的新圖
的尺寸就在這兒配置。
????下面舉個(gè)例子來說明這個(gè)函數(shù)的用法,對(duì)應(yīng)的程序thumb.php如程序清單12—5所示。
??程序清單12—5??thumb.php
// 本函數(shù)從源文件取出圖像,設(shè)定成指定大小,并輸出到目的文件
// 源文件格式:gif,jpg,png
// 目的文件格式:gif
// $srcFile:源文件
// $dstFile: 目標(biāo)文件
// $dstW:目標(biāo)圖片寬度
// $dstH:目標(biāo)文件高度
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);
// 如果需要其他格式的圖片,改動(dòng)最后一句就可以了
}
?>
在這個(gè)例子中,首先通過getimagesize()函數(shù)獲得源圖片的情況,再用 imagecreatefromgif()、
imagecreatefromjpeg()或imagecreatefrompng()創(chuàng)建一個(gè)源位圖$imgsrc,然后用
imagecreate()函數(shù)創(chuàng)建一個(gè)目標(biāo)位圖,其長(zhǎng)、寬各是源位圖的一半。然后調(diào)用imagecopyresized()
函數(shù),將源位圖縮小后拷貝到目標(biāo)位圖中,最后再用imagegif()函數(shù)生成縮略圖。
????這里所用到的圖形處理函數(shù)就是由安裝的GD庫(kù)提供的,現(xiàn)對(duì)其分別進(jìn)行說明。首先
介紹getimagesize()函數(shù),其標(biāo)準(zhǔn)語(yǔ)法如下。
????語(yǔ)法:array getimagesize(string filename,array [imageinfo]);
????返回值:數(shù)組
????函數(shù)種類:圖形處理
????內(nèi)容說明:本函數(shù)可用來取得GIF、JPEG及PNG??3種WWW上圖片的高與寬,不
需要安裝GD library就可以便用本函數(shù)。返回的數(shù)組有4個(gè)元素,返回?cái)?shù)組的第一個(gè)元素(索
引值0)是圖片的高度,單位是像素(pixel);第二個(gè)元素(索引值1)是圖片的寬度;第三個(gè)元
素(索引值2)是圖片的文件格式,其值1為GIF格式、2為JPEG/JPG格式、3為PNG格式;
第四個(gè)元素(索引值3)為圖片的高與寬字符串,height=xxx width=yyy。
????通過getimagesize()函數(shù)的應(yīng)用,能輕易獲取圖片的各種信息。下面給大家舉一個(gè)獲取
圖片寬度、高度、格式、文件大小的信息的例子,來進(jìn)一步領(lǐng)會(huì)getimagesize()函數(shù)的使用
技巧。程序imginfo如程序清單12—6所示。
??程序清單12-6??imginfo.php
function getImageInfo($img) //$img為圖像文件絕對(duì)路徑
{
$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中要?jiǎng)?chuàng)建一個(gè)縮略圖,需要先創(chuàng)建一個(gè)用來繪圖的空白的畫布。
ImageCreate函數(shù)可以做到這一點(diǎn)。它將返回一個(gè)圖像的標(biāo)識(shí)符,并且需要告訴函數(shù)用像素
計(jì)算的畫布有多大(x(寬度)與y(高度))。在程序12-5中用到的圖形創(chuàng)建函數(shù)imagecreate()
的標(biāo)準(zhǔn)語(yǔ)法如下:
????語(yǔ)法:int imagecreate(int x_size,int y_size);
????返回值:整數(shù)
????函數(shù)種類:圖形處理
????內(nèi)容說明:本函數(shù)用來建立一張全空的圖形。參數(shù)x_size、y_size為圖形的尺寸,單位
為像素(pixel)。
????如果要從已經(jīng)存在的圖片中取出圖片文件代碼,可以用imagecreatefromgif()、
imagecreatefromjpeg()或imagecreatefrompng(),例如函數(shù)imagecreatefromgif()就是從一個(gè)GIF
格式的圖片文件中取出對(duì)應(yīng)的圖片源代碼,其標(biāo)準(zhǔn)語(yǔ)法如下:
??語(yǔ)法:int imagecreatefromgif(string filename);
??返回值:整數(shù)
??函數(shù)種類:圖形處理
??內(nèi)容說明:本函數(shù)用來取出一張GIF格式圖形,通常作為背景或者基本的畫布樣本使
用。參數(shù)filename可以是本地端的文件,也可以是網(wǎng)絡(luò)的URL地址。返回值為GIF的文件
代碼,可供其他函數(shù)使用。
????在將源位圖縮小后拷貝到目標(biāo)位圖中時(shí),用到了imagecopyresized()函數(shù),此函數(shù)可以
復(fù)制新圖并調(diào)整大小,其標(biāo)準(zhǔn)語(yǔ)法如下:
????語(yǔ)法:int imagecopyresized(int dst_im,int src_im,int dstX,int dstY,int srcX,int srcY,
int dstW,int dstH,int srcW,int srcH);
????返回值:整數(shù)
????函數(shù)種類:圖形處理
????內(nèi)容說明:本函數(shù)可復(fù)制新圖,并重新調(diào)整圖片的大小尺寸。參數(shù)那是目的在前,來
源在后。參數(shù)ddst_im及src_im為圖片的handle。參數(shù)dstX、dstY、srcX、srcY分別為目的
及來源的坐標(biāo)。參數(shù)dstW、dstH、srcW、srcH分別為來源及目的的寬及高,若欲調(diào)整新圖
的尺寸就在這里配置。
????最后在輸出圖像時(shí)用到的imagegif()函數(shù)的標(biāo)準(zhǔn)語(yǔ)法如下:
????語(yǔ)法:int imagegif(int im,string [filename]);
????返問值:整數(shù)
????函數(shù)種類:圖形處理
????內(nèi)容說明:本函數(shù)用來建立一張GIF格式圖形。參數(shù)im為使用ImageCreate()所建立
的圖片代碼,參數(shù)filename可省略,若無本參數(shù)filename,則會(huì)將圖片直接送到瀏覽器端,
記得在送出圖片之前要先送出使用Content-type:image/gif的標(biāo)頭字符串(header)到瀏覽器
端,以順利傳輸圖片。若要使用透明背景的GIF圖,也就是GIF89a的格式,需要先使用
ImageColorTransparent()配置透明背景。本函數(shù)產(chǎn)生的GIF圖,由于有版權(quán)的問題,因此
在商業(yè)上的使用還要多加考慮。

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Mesej "Organisasi anda memerlukan anda menukar PIN anda" akan muncul pada skrin log masuk. Ini berlaku apabila had tamat tempoh PIN dicapai pada komputer menggunakan tetapan akaun berasaskan organisasi, di mana mereka mempunyai kawalan ke atas peranti peribadi. Walau bagaimanapun, jika anda menyediakan Windows menggunakan akaun peribadi, sebaiknya mesej ralat tidak akan muncul. Walaupun ini tidak selalu berlaku. Kebanyakan pengguna yang mengalami ralat melaporkan menggunakan akaun peribadi mereka. Mengapa organisasi saya meminta saya menukar PIN saya pada Windows 11? Ada kemungkinan akaun anda dikaitkan dengan organisasi dan pendekatan utama anda adalah untuk mengesahkan perkara ini. Menghubungi pentadbir domain anda boleh membantu! Selain itu, tetapan dasar tempatan yang salah konfigurasi atau kunci pendaftaran yang salah boleh menyebabkan ralat. Sekarang ni

Windows 11 membawa reka bentuk yang segar dan elegan ke hadapan antara muka moden membolehkan anda memperibadikan dan menukar butiran terbaik, seperti sempadan tingkap. Dalam panduan ini, kami akan membincangkan arahan langkah demi langkah untuk membantu anda mencipta persekitaran yang mencerminkan gaya anda dalam sistem pengendalian Windows. Bagaimana untuk menukar tetapan sempadan tetingkap? Tekan + untuk membuka apl Tetapan. WindowsSaya pergi ke Pemperibadian dan klik Tetapan Warna. Perubahan Warna Tetingkap Sempadan Tetapan Tetingkap 11" Lebar="643" Tinggi="500" > Cari pilihan Tunjukkan warna aksen pada bar tajuk dan sempadan tetingkap, dan togol suis di sebelahnya. Untuk memaparkan warna aksen pada menu Mula dan bar tugas Untuk memaparkan warna tema pada menu Mula dan bar tugas, hidupkan Tunjukkan tema pada menu Mula dan bar tugas

Kaedah untuk membuka fail img termasuk menggunakan perisian pemacu optik maya, menggunakan perisian pemampatan dan menggunakan alat khas. Pengenalan terperinci: 1. Gunakan perisian pemacu optik maya untuk membuka, memuat turun dan memasang perisian pemacu optik maya, klik kanan fail img, pilih "Buka dengan" atau "Program Bersekutu", pilih perisian pemacu optik maya yang dipasang dalam pop timbul kotak dialog -up, maya Perisian pemacu optikal secara automatik akan memuatkan fail img dan menggunakannya sebagai imej cakera dalam pemacu optik maya Klik dua kali pada ikon cakera dalam pemacu optik maya untuk membuka fail img dan mengakses kandungannya. dll.

Secara lalai, warna bar tajuk pada Windows 11 bergantung pada tema gelap/terang yang anda pilih. Walau bagaimanapun, anda boleh menukarnya kepada mana-mana warna yang anda mahu. Dalam panduan ini, kami akan membincangkan arahan langkah demi langkah untuk tiga cara mengubahnya dan memperibadikan pengalaman desktop anda untuk menjadikannya menarik secara visual. Adakah mungkin untuk menukar warna bar tajuk tetingkap aktif dan tidak aktif? Ya, anda boleh menukar warna bar tajuk tetingkap aktif menggunakan apl Tetapan, atau anda boleh menukar warna bar tajuk tetingkap tidak aktif menggunakan Registry Editor. Untuk mempelajari langkah-langkah ini, pergi ke bahagian seterusnya. Bagaimana untuk menukar warna bar tajuk dalam Windows 11? 1. Tekan + untuk membuka tetingkap tetapan menggunakan apl Tetapan. WindowsSaya pergi ke "Peribadikan" dan kemudian

Lakaran kecil bar tugas boleh menjadi menyeronokkan, tetapi ia juga boleh mengganggu atau menjengkelkan. Memandangkan kekerapan anda menuding di atas kawasan ini, anda mungkin telah menutup tetingkap penting secara tidak sengaja beberapa kali. Kelemahan lain ialah ia menggunakan lebih banyak sumber sistem, jadi jika anda telah mencari cara untuk menjadi lebih cekap sumber, kami akan menunjukkan kepada anda cara untuk melumpuhkannya. Walau bagaimanapun, jika spesifikasi perkakasan anda boleh mengendalikannya dan anda menyukai pratonton, anda boleh mendayakannya. Bagaimana untuk mendayakan pratonton lakaran kecil bar tugas dalam Windows 11? 1. Menggunakan apl Tetapan ketik kekunci dan klik Tetapan. Windows klik Sistem dan pilih Perihal. Klik Tetapan sistem lanjutan. Navigasi ke tab Lanjutan dan pilih Tetapan di bawah Prestasi. Pilih "Kesan Visual"

Adakah anda melihat "Masalah berlaku" bersama-sama dengan pernyataan "OOBELANGUAGE" pada halaman Pemasang Windows? Pemasangan Windows kadangkala terhenti kerana ralat tersebut. OOBE bermaksud pengalaman di luar kotak. Seperti yang ditunjukkan oleh mesej ralat, ini ialah isu yang berkaitan dengan pemilihan bahasa OOBE. Tiada apa yang perlu dibimbangkan, anda boleh menyelesaikan masalah ini dengan penyuntingan pendaftaran yang bagus dari skrin OOBE itu sendiri. Pembetulan Pantas – 1. Klik butang “Cuba Semula” di bahagian bawah apl OOBE. Ini akan meneruskan proses tanpa gangguan lagi. 2. Gunakan butang kuasa untuk menutup paksa sistem. Selepas sistem dimulakan semula, OOBE harus diteruskan. 3. Putuskan sambungan sistem daripada Internet. Lengkapkan semua aspek OOBE dalam mod luar talian

Kita semua mempunyai pilihan yang berbeza apabila ia berkaitan dengan penskalaan paparan pada Windows 11. Sesetengah orang suka ikon besar, ada yang suka ikon kecil. Walau bagaimanapun, kita semua bersetuju bahawa mempunyai penskalaan yang betul adalah penting. Penskalaan fon yang lemah atau penskalaan berlebihan imej boleh menjadi pembunuh produktiviti sebenar apabila bekerja, jadi anda perlu tahu cara menyesuaikannya untuk memanfaatkan sepenuhnya keupayaan sistem anda. Kelebihan Zum Tersuai: Ini adalah ciri yang berguna untuk orang yang mengalami kesukaran membaca teks pada skrin. Ia membantu anda melihat lebih banyak pada skrin pada satu masa. Anda boleh membuat profil sambungan tersuai yang digunakan hanya pada monitor dan aplikasi tertentu. Boleh membantu meningkatkan prestasi perkakasan kelas rendah. Ia memberi anda lebih kawalan ke atas perkara yang terdapat pada skrin anda. Cara menggunakan Windows 11

Kecerahan skrin adalah bahagian penting dalam menggunakan peranti pengkomputeran moden, terutamanya apabila anda melihat skrin untuk jangka masa yang lama. Ia membantu anda mengurangkan ketegangan mata, meningkatkan kebolehbacaan dan melihat kandungan dengan mudah dan cekap. Walau bagaimanapun, bergantung pada tetapan anda, kadangkala sukar untuk mengurus kecerahan, terutamanya pada Windows 11 dengan perubahan UI baharu. Jika anda menghadapi masalah melaraskan kecerahan, berikut ialah semua cara untuk mengurus kecerahan pada Windows 11. Cara Menukar Kecerahan pada Windows 11 [10 Cara Diterangkan] Pengguna monitor tunggal boleh menggunakan kaedah berikut untuk melaraskan kecerahan pada Windows 11. Ini termasuk sistem desktop menggunakan monitor tunggal serta komputer riba. Jom mulakan. Kaedah 1: Gunakan Pusat Tindakan Pusat Tindakan boleh diakses
