Rumah pembangunan bahagian belakang tutorial php PHP从0单排(十八)图片处理

PHP从0单排(十八)图片处理

Jun 13, 2016 am 11:56 AM
gt image img lt quot

PHP从零单排(十八)图片处理

1.打开已经存在的图片

<?phpheader ("Content-type:image/jpeg"); $img=imagecreatefromjpeg("cc.jpg");imagejpeg($img);imagedestroy($img);?>
Salin selepas log masuk
函数imagecreatefromjpeg()的参数即文件所在路径,返回值是参数所指图片的资源标识符。该函数时通过已有图像新建一个图像,并不是单纯打开原图像本身。如果将图片的后缀名.jpg强制改为.png,即便是使用函数imagecreatefrompng(),也无法打开文件,因为图片本质还是jpg格式的图片。

2.获取图片的相关属性

<?php $img=imagecreatefromjpeg("cc.jpg");$x=imagesx($img);$y=imagesy($img);echo "图片cc.jpg的宽为:<b>$x pixels";echo "<br>";echo "<br>";echo "图片cc.jpg的高为:<b>$y</b> pixels";?>
Salin selepas log masuk

另外,通过一个不属于GD库的函数getimagesize(),可以取得图片的大小等相关属性,该函数的语法如下:

array getimagesize(string $filename [, array &imageinfo])

<?php $img_info=getimagesize("cc.jpg");for($i=0;$i<4;++$i){	echo $img_info[$i];	echo "<br/>";		}?>
Salin selepas log masuk
第三个元素是图片的格式,它的取值含义如下所示:

1:表示该图片是GIF格式

2:表示该图片是JPG格式

3:表示该图片是PNG格式

4:表示该图片是SWF格式

5:表示该图片是PSD格式

6:表示该图片是BMP格式

<?php $pic_name="ee.png";$pic_size=getimagesize($pic_name);?><img  src="<?php%20echo%20%24pic_name;%20?>" echo alt="PHP从0单排(十八)图片处理" >>
Salin selepas log masuk

3.对图片加水印效果

·获取要添加水印的图片的宽、高值

·确定图片大小是否满足水印文字大小

·确定水印效果在图片中的位置

·设定图像的混色模式

·生成水印效果

·释放资源

<?php function makeimagewatermark($image,$pos,$water_text,$font_size,$color){	$font_type="c://WINDOWS//Fonts//SIMYOU.TTF";	if(!empty($image)&& file_exists($image))	{		$img_info=getimagesize($image);		$g_w=$img_info[0];		$g_h=$img_info[1];		switch($img_info[2])		{			case 1:			$img=imagecreatefromgif($image);			break;			case 2:			$img=imagecreatefromjpeg($image);			break;			case 3:			$img=imagecreatefrompng($image);			break;			default:			die("Format Wrong");						}				}	else 	{		die("Not exists!");				}		$temp=imagettfbbox(ceil($font_size*2.5),0,$font_type,$water_text);	$w=$temp[2]-$temp[6];	$h=$temp[3]-$temp[7];	if(($g_w<$w) || ($g_h<$h))	{		echo "Too small!";		return;				}	switch($pos){	case 0:	$pos_x=rand(0,($g_w-$w));	$pos_y=rand(0,($g_h-$h));	break;	case 1:	$pos_x=0;	$pos_y=0;	break;	case 2:	$pos_x=($g_w-$w)/2;	$pos_y=($g_h-$h)/2;	break;	case 3:	$pos_x=$g_w-$w;	$pos_y=$g_h-$h;	break;	default:	$pos_x=rand(0,($g_w-$w));	$pos_y=rand(0,($g_h-$h));	break;		}			imagealphablending($img,true);//设置图像混色模式		if(!empty($color) && (strlen($color)==7)){	$R=hexdec(substr($color,1,2));	$G=hexdec(substr($color,3,2));	$B=hexdec(substr($color,5));		}		else 	{		die("Format wrong!");				}		$text_color=imagecolorallocate($img,$R,$G,$B);				imagettftext($img,$font_size,0,$pos_x,$pos_y,$text_color,$font_type,$water_text);				switch($img_info[2])		{			case 1 :			imagegif($img,$image);			break;			case 2 :			imagejpeg($img,$image);			break;			case 3:			imagepng($img,$image);			break;			default:			die("Formate unSupport!");						}	imagedestroy($img);		}if(isset($_FILES) && !empty($_FILES['userfile'])&& $_FILES['userfile']['size']>0){$uploadfile="./".time()."_".$_FILES['userfile']['name'];if(copy($_FILES['userfile']['tmp_name'],$uploadfile)){    makeimagewatermark($uploadfile,2,"Photo by Mac",16,"#43042A");	echo "<img  src="%5C%22%22.%24uploadfile.%22%5C%22" border='\"0\"' alt="PHP从0单排(十八)图片处理" >";		}else{	echo "uploadWrong!<br>";	}}?><title>19.9.php</title>
Salin selepas log masuk
选择上传图片:

4.生成已有图片的缩略图

<?php header("Content-type:image/jpeg");$img_name="cc.jpg";$src_img=imagecreatefromjpeg($img_name);$ow=imagesx($src_img);$oh=imagesy($src_img);$nw=round($ow*200.0/$ow);$nh=round($oh*200.0/$oh);$desc_img=imagecreate($nw,$nh);imagecopyresized($desc_img,$src_img,0,0,0,0,$nw,$nh,$ow,$oh);imagejpeg($desc_img);imagedestroy($desc_img);imagedestroy($src_img);?>
Salin selepas log masuk
第一个和第二个参数分别是目标图像、原图像的标识符,接下来4个参数是目的图像和原图像的复制位置的坐标,最后4个参数是目的图像和原图像的复制区域的宽高。
!!使用函数imagecopyresampled()函数

<?php header("Content-type:image/jpeg");$img_name="cc.jpg";$percent=0.2;$src_img=imagecreatefromjpeg($img_name);$ow=imagesx($src_img);$oh=imagesy($src_img);$nw=$ow*$percent;$nh=$oh*$percent;$desc_img=imagecreatetruecolor($nw,$nh);imagecopyresampled($desc_img,$src_img,0,0,0,0,$nw,$nh,$ow,$oh);imagejpeg($desc_img);imagedestroy($desc_img);imagedestroy($src_img);?>
Salin selepas log masuk




Kenyataan Laman Web ini
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

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

Video Face Swap

Video Face Swap

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

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk membuka fail img Bagaimana untuk membuka fail img Sep 18, 2023 am 09:40 AM

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.

Apakah perbezaan antara Huawei GT3 Pro dan GT4? Apakah perbezaan antara Huawei GT3 Pro dan GT4? Dec 29, 2023 pm 02:27 PM

Ramai pengguna akan memilih jenama Huawei apabila memilih jam tangan pintar Antaranya, Huawei GT3pro dan GT4 adalah pilihan yang sangat popular. Apakah perbezaan antara Huawei GT3pro dan GT4? 1. Rupa GT4: 46mm dan 41mm, bahan cermin kaca + badan keluli tahan karat + cangkang belakang gentian resolusi tinggi. GT3pro: 46.6mm dan 42.9mm, bahannya ialah kaca nilam + badan titanium/badan seramik + cangkerang belakang seramik 2. GT4 yang sihat: Menggunakan algoritma Huawei Truseen5.5+ terkini, hasilnya akan lebih tepat. GT3pro: Penambahan elektrokardiogram ECG dan saluran darah serta keselamatan

Bagaimana untuk membuka fail img Bagaimana untuk membuka fail img Jul 06, 2023 pm 04:17 PM

Cara membuka fail img: 1. Sahkan laluan fail img 2. Gunakan pembuka fail img 3. Pilih kaedah pembukaan; 5. Simpan gambar; Fail img ialah format fail imej yang biasa digunakan, biasanya digunakan untuk menyimpan data gambar.

Apakah format img? Apakah format img? Mar 17, 2023 am 10:33 AM

img ialah format pemampatan fail, terutamanya digunakan untuk mencipta fail imej cakera liut Ia boleh digunakan untuk memampatkan kandungan keseluruhan cakera liut atau keseluruhan fail CD dengan sambungan ".IMG" dibuat menggunakan format fail ini. ; Fail img merangkumi 3 nod asas, iaitu "Ehfa_HeaderTag", "Ehfa_File" dan "Ehfa_Entry".

Betulkan: Alat snipping tidak berfungsi dalam Windows 11 Betulkan: Alat snipping tidak berfungsi dalam Windows 11 Aug 24, 2023 am 09:48 AM

Mengapa Alat Snipping Tidak Berfungsi pada Windows 11 Memahami punca masalah boleh membantu mencari penyelesaian yang betul. Berikut ialah sebab utama Alat Snipping mungkin tidak berfungsi dengan betul: Focus Assistant dihidupkan: Ini menghalang Snipping Tool daripada dibuka. Aplikasi rosak: Jika alat snipping ranap semasa pelancaran, ia mungkin rosak. Pemacu grafik lapuk: Pemacu yang tidak serasi mungkin mengganggu alat snipping. Gangguan daripada aplikasi lain: Aplikasi lain yang sedang berjalan mungkin bercanggah dengan Alat Snipping. Sijil telah tamat tempoh: Ralat semasa proses naik taraf boleh menyebabkan penyelesaian mudah ini sesuai untuk kebanyakan pengguna dan tidak memerlukan sebarang pengetahuan teknikal khusus. 1. Kemas kini apl Windows dan Microsoft Store

Cara menggunakan Bing Image Creator secara percuma Cara menggunakan Bing Image Creator secara percuma Feb 27, 2024 am 11:04 AM

Artikel ini akan memperkenalkan tujuh cara untuk mendapatkan output berkualiti tinggi menggunakan BingImageCreator percuma. BingImageCreator (kini dikenali sebagai ImageCreator untuk Microsoft Designer) ialah salah satu penjana seni kecerdasan buatan dalam talian yang hebat. Ia menjana kesan visual yang sangat realistik berdasarkan gesaan pengguna. Lebih spesifik, jelas dan kreatif gesaan anda, lebih baik hasilnya. BingImageCreator telah mencapai kemajuan yang ketara dalam mencipta imej berkualiti tinggi. Ia kini menggunakan mod latihan Dall-E3, menunjukkan tahap perincian dan realisme yang lebih tinggi. Walau bagaimanapun, keupayaannya untuk menghasilkan hasil HD secara konsisten bergantung pada beberapa faktor, termasuk pantas

Bagaimana untuk memadam imej dari telefon Xiaomi Bagaimana untuk memadam imej dari telefon Xiaomi Mar 02, 2024 pm 05:34 PM

Bagaimana untuk memadam imej pada telefon bimbit Xiaomi? Anda boleh memadam imej pada telefon bimbit Xiaomi, tetapi kebanyakan pengguna tidak tahu bagaimana untuk memadam imej boleh datang dan sertai kami. Cara memadam imej pada telefon bimbit Xiaomi 1. Mula-mula buka fungsi [Album] dalam telefon bimbit Xiaomi 2. Kemudian semak gambar yang tidak diperlukan dan klik butang [Padam] di sudut kanan bawah ; bahagian atas untuk memasuki kawasan khas , pilih [Tong Kitar Semula];

Cara Membetulkan Ralat Tidak Dapat Menyambung ke App Store pada iPhone Cara Membetulkan Ralat Tidak Dapat Menyambung ke App Store pada iPhone Jul 29, 2023 am 08:22 AM

Bahagian 1: Langkah Penyelesaian Masalah Awal Menyemak Status Sistem Apple: Sebelum menyelidiki penyelesaian yang rumit, mari kita mulakan dengan asas. Masalahnya mungkin tidak terletak pada peranti anda; Lawati halaman Status Sistem Apple untuk melihat sama ada AppStore berfungsi dengan betul. Jika terdapat masalah, anda hanya boleh menunggu Apple membetulkannya. Semak sambungan Internet anda: Pastikan anda mempunyai sambungan internet yang stabil kerana isu "Tidak dapat menyambung ke AppStore" kadangkala boleh dikaitkan dengan sambungan yang lemah. Cuba tukar antara Wi-Fi dan data mudah alih atau tetapkan semula tetapan rangkaian (Umum > Tetapkan Semula > Tetapkan Semula Tetapan Rangkaian > Tetapan). Kemas kini versi iOS anda:

See all articles