Heim Backend-Entwicklung PHP-Tutorial 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);?>
Nach dem Login kopieren
函数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";?>
Nach dem Login kopieren

另外,通过一个不属于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/>";		}?>
Nach dem Login kopieren
第三个元素是图片的格式,它的取值含义如下所示:

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单排(十八)图片处理" >>
Nach dem Login kopieren

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>
Nach dem Login kopieren
选择上传图片:

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);?>
Nach dem Login kopieren
第一个和第二个参数分别是目标图像、原图像的标识符,接下来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);?>
Nach dem Login kopieren




Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So öffnen Sie die IMG-Datei So öffnen Sie die IMG-Datei Sep 18, 2023 am 09:40 AM

Zu den Methoden zum Öffnen von IMG-Dateien gehören die Verwendung von Software für virtuelle optische Laufwerke, die Verwendung von Komprimierungssoftware und die Verwendung spezieller Tools. Detaillierte Einführung: 1. Verwenden Sie die Software für virtuelle optische Laufwerke, um eine Software für virtuelle optische Laufwerke zu öffnen, herunterzuladen und zu installieren. Klicken Sie mit der rechten Maustaste auf die IMG-Datei, wählen Sie „Öffnen mit“ oder „Zugehöriges Programm“ und wählen Sie im Popup die installierte Software für virtuelle optische Laufwerke aus -up-Dialogfeld, virtuell Die Software des optischen Laufwerks lädt die IMG-Datei automatisch und verwendet sie als Disc-Image im virtuellen optischen Laufwerk. Doppelklicken Sie auf das Disc-Symbol im virtuellen optischen Laufwerk, um die IMG-Datei zu öffnen und auf deren Inhalt zuzugreifen. usw.

Was sind die Unterschiede zwischen Huawei GT3 Pro und GT4? Was sind die Unterschiede zwischen Huawei GT3 Pro und GT4? Dec 29, 2023 pm 02:27 PM

Viele Benutzer werden sich bei der Auswahl von Smartwatches für die Marke Huawei entscheiden. Viele Benutzer sind neugierig auf den Unterschied zwischen Huawei GT3pro und GT4. Was sind die Unterschiede zwischen Huawei GT3pro und GT4? 1. Aussehen GT4: 46 mm und 41 mm, das Material ist Glasspiegel + Edelstahlgehäuse + hochauflösende Faserrückschale. GT3pro: 46,6 mm und 42,9 mm, das Material ist Saphirglas + Titangehäuse/Keramikgehäuse + Keramikrückschale 2. Gesundes GT4: Mit dem neuesten Huawei Truseen5.5+-Algorithmus werden die Ergebnisse genauer. GT3pro: EKG-Elektrokardiogramm sowie Blutgefäß und Sicherheit hinzugefügt

So öffnen Sie die IMG-Datei So öffnen Sie die IMG-Datei Jul 06, 2023 pm 04:17 PM

So öffnen Sie die IMG-Datei: 1. Bestätigen Sie den IMG-Dateiöffner. 3. Wählen Sie die Öffnungsmethode. 5. Speichern Sie das Bild. Die IMG-Datei ist ein häufig verwendetes Bilddateiformat, das normalerweise zum Speichern von Bilddaten verwendet wird.

Was ist das Format von img? Was ist das Format von img? Mar 17, 2023 am 10:33 AM

img ist ein Dateikomprimierungsformat, das hauptsächlich zum Erstellen von Disketten-Image-Dateien verwendet wird. Es kann zum Komprimieren des Inhalts einer gesamten Diskette oder einer gesamten CD verwendet werden. Die IMG-Datei enthält drei grundlegende Knoten, nämlich „Ehfa_HeaderTag“, „Ehfa_File“ und „Ehfa_Entry“.

Fix: Snipping-Tool funktioniert unter Windows 11 nicht Fix: Snipping-Tool funktioniert unter Windows 11 nicht Aug 24, 2023 am 09:48 AM

Warum das Snipping-Tool unter Windows 11 nicht funktioniert Das Verständnis der Grundursache des Problems kann dabei helfen, die richtige Lösung zu finden. Hier sind die häufigsten Gründe, warum das Snipping Tool möglicherweise nicht ordnungsgemäß funktioniert: Focus Assistant ist aktiviert: Dies verhindert, dass das Snipping Tool geöffnet wird. Beschädigte Anwendung: Wenn das Snipping-Tool beim Start abstürzt, ist es möglicherweise beschädigt. Veraltete Grafiktreiber: Inkompatible Treiber können das Snipping-Tool beeinträchtigen. Störungen durch andere Anwendungen: Andere laufende Anwendungen können mit dem Snipping Tool in Konflikt geraten. Das Zertifikat ist abgelaufen: Ein Fehler während des Upgrade-Vorgangs kann zu diesem Problem führen. Diese einfache Lösung ist für die meisten Benutzer geeignet und erfordert keine besonderen technischen Kenntnisse. 1. Aktualisieren Sie Windows- und Microsoft Store-Apps

So nutzen Sie Bing Image Creator kostenlos So nutzen Sie Bing Image Creator kostenlos Feb 27, 2024 am 11:04 AM

In diesem Artikel werden sieben Möglichkeiten vorgestellt, mit dem kostenlosen BingImageCreator eine qualitativ hochwertige Ausgabe zu erhalten. BingImageCreator (jetzt bekannt als ImageCreator für Microsoft Designer) ist einer der großartigen Online-Kunstgeneratoren für künstliche Intelligenz. Es generiert äußerst realistische visuelle Effekte basierend auf Benutzereingaben. Je spezifischer, klarer und kreativer Ihre Aufforderungen sind, desto besser werden die Ergebnisse sein. BingImageCreator hat erhebliche Fortschritte bei der Erstellung hochwertiger Bilder gemacht. Es verwendet jetzt den Dall-E3-Trainingsmodus und zeigt ein höheres Maß an Detailgenauigkeit und Realismus. Allerdings hängt die Fähigkeit, konsistent HD-Ergebnisse zu liefern, von mehreren Faktoren ab, unter anderem von der Geschwindigkeit

So löschen Sie Bilder von Xiaomi-Telefonen So löschen Sie Bilder von Xiaomi-Telefonen Mar 02, 2024 pm 05:34 PM

Wie lösche ich Bilder auf Xiaomi-Handys? Sie können Bilder auf Xiaomi-Handys löschen, aber die meisten Benutzer wissen nicht, wie man Bilder auf Xiaomi-Handys löscht können Sie bei uns vorbeischauen. Mal sehen! So löschen Sie Bilder auf dem Xiaomi-Mobiltelefon 1. Öffnen Sie zunächst die Funktion [Album] im Xiaomi-Mobiltelefon. 2. Überprüfen Sie dann die nicht benötigten Bilder und klicken Sie auf die Schaltfläche [Löschen] in der unteren rechten Ecke Um den Spezialbereich aufzurufen, wählen Sie oben [Papierkorb] aus. 4. Klicken Sie dann direkt auf [Papierkorb leeren], wie in der Abbildung unten gezeigt. 5. Klicken Sie abschließend direkt auf [Permanent löschen].

So beheben Sie den Fehler „Verbindung zum App Store nicht möglich' auf dem iPhone So beheben Sie den Fehler „Verbindung zum App Store nicht möglich' auf dem iPhone Jul 29, 2023 am 08:22 AM

Teil 1: Erste Schritte zur Fehlerbehebung Überprüfen des Apple-Systemstatus: Bevor wir uns mit komplexen Lösungen befassen, beginnen wir mit den Grundlagen. Das Problem liegt möglicherweise nicht an Ihrem Gerät; die Server von Apple sind möglicherweise ausgefallen. Besuchen Sie die Systemstatusseite von Apple, um zu sehen, ob der AppStore ordnungsgemäß funktioniert. Wenn es ein Problem gibt, können Sie nur warten, bis Apple es behebt. Überprüfen Sie Ihre Internetverbindung: Stellen Sie sicher, dass Sie über eine stabile Internetverbindung verfügen, da das Problem „Verbindung zum AppStore nicht möglich“ manchmal auf eine schlechte Verbindung zurückzuführen ist. Versuchen Sie, zwischen WLAN und mobilen Daten zu wechseln oder die Netzwerkeinstellungen zurückzusetzen (Allgemein > Zurücksetzen > Netzwerkeinstellungen zurücksetzen > Einstellungen). Aktualisieren Sie Ihre iOS-Version:

See all articles