<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>PHP图片 &#8211; 九创科技</title>
	<atom:link href="https://www.3code.cn/tag/php-image-tag/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.3code.cn</link>
	<description>Wordpress外贸企业主题, Wp企业主题, wordpress企业主题, wordpress主题定制, WORDPRESS外贸网站建设SEO</description>
	<lastBuildDate>Fri, 03 Sep 2010 08:39:20 +0000</lastBuildDate>
	<language>zh-Hans</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	
	<item>
		<title>php上传图片缩小尺寸实例代码</title>
		<link>https://www.3code.cn/php-upload-pic-cc/</link>
		
		<dc:creator><![CDATA[寒林]]></dc:creator>
		<pubDate>Fri, 03 Sep 2010 08:39:20 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[PHP图片]]></category>
		<category><![CDATA[PHP图片上传]]></category>
		<category><![CDATA[php类]]></category>
		<guid isPermaLink="false">https://www.3code.cn/?p=2080</guid>

					<description><![CDATA[将下面的代码保存成一个文件，存在一个目录下，此目录下要有images的目录，用于存放上传的图片。
这样子在本地环境就可以直接测试使用。]]></description>
										<content:encoded><![CDATA[<p>将下面的代码保存成一个文件，存在一个目录下，此目录下要有images的目录，用于存放上传的图片。</p>
<p>这样子在本地环境就可以直接测试使用。</p>
<p>&lt;?php<br />
class CreatMiniature<br />
{<br />
//公共变量<br />
var $srcFile=&#8221;&#8221;;        //原图<br />
var $echoType;            //输出图片类型，link&#8211;不保存为文件；file&#8211;保存为文件<br />
var $im=&#8221;&#8221;;                //临时变量<br />
var $srcW=&#8221;&#8221;;            //原图宽<br />
var $srcH=&#8221;&#8221;;            //原图高</p>
<p>//设置变量及初始化<br />
function SetVar($srcFile,$echoType)<br />
{<br />
$this-&gt;srcFile=$srcFile;<br />
$this-&gt;echoType=$echoType;</p>
<p>$info = &#8220;&#8221;;<br />
$data = GetImageSize($this-&gt;srcFile,$info);<br />
switch ($data[2])<br />
{<br />
case 1:<br />
if(!function_exists(&#8220;imagecreatefromgif&#8221;)){<br />
echo &#8220;你的GD库不能使用GIF格式的图片，请使用Jpeg或PNG格式！&lt;a href=&#8217;javascript:go(-1);&#8217;&gt;返回&lt;/a&gt;&#8221;;<br />
exit();<br />
}<br />
$this-&gt;im = ImageCreateFromGIF($this-&gt;srcFile);<br />
break;<br />
case 2:<br />
if(!function_exists(&#8220;imagecreatefromjpeg&#8221;)){<br />
echo &#8220;你的GD库不能使用jpeg格式的图片，请使用其它格式的图片！&lt;a href=&#8217;javascript:go(-1);&#8217;&gt;返回&lt;/a&gt;&#8221;;<br />
exit();<br />
}<br />
$this-&gt;im = ImageCreateFromJpeg($this-&gt;srcFile);<br />
break;<br />
case 3:<br />
$this-&gt;im = ImageCreateFromPNG($this-&gt;srcFile);<br />
break;<br />
}<br />
$this-&gt;srcW=ImageSX($this-&gt;im);<br />
$this-&gt;srcH=ImageSY($this-&gt;im);<br />
}</p>
<p>//生成扭曲型缩图<br />
function Distortion($toFile,$toW,$toH)<br />
{<br />
$cImg=$this-&gt;CreatImage($this-&gt;im,$toW,$toH,0,0,0,0,$this-&gt;srcW,$this-&gt;srcH);<br />
return $this-&gt;EchoImage($cImg,$toFile);<br />
ImageDestroy($cImg);<br />
}</p>
<p>//生成按比例缩放的缩图<br />
function Prorate($toFile,$toW,$toH)<br />
{<br />
$toWH=$toW/$toH;<br />
$srcWH=$this-&gt;srcW/$this-&gt;srcH;<br />
if($toWH&lt;=$srcWH)<br />
{<br />
$ftoW=$toW;<br />
$ftoH=$ftoW*($this-&gt;srcH/$this-&gt;srcW);<br />
}<br />
else<br />
{<br />
$ftoH=$toH;<br />
$ftoW=$ftoH*($this-&gt;srcW/$this-&gt;srcH);<br />
}<br />
if($this-&gt;srcW&gt;$toW||$this-&gt;srcH&gt;$toH)<br />
{<br />
$cImg=$this-&gt;CreatImage($this-&gt;im,$ftoW,$ftoH,0,0,0,0,$this-&gt;srcW,$this-&gt;srcH);<br />
return $this-&gt;EchoImage($cImg,$toFile);<br />
ImageDestroy($cImg);<br />
}<br />
else<br />
{<br />
$cImg=$this-&gt;CreatImage($this-&gt;im,$this-&gt;srcW,$this-&gt;srcH,0,0,0,0,$this-&gt;srcW,$this-&gt;srcH);<br />
return $this-&gt;EchoImage($cImg,$toFile);<br />
ImageDestroy($cImg);<br />
}<br />
}</p>
<p>//生成最小裁剪后的缩图<br />
function Cut($toFile,$toW,$toH)<br />
{<br />
$toWH=$toW/$toH;<br />
$srcWH=$this-&gt;srcW/$this-&gt;srcH;<br />
if($toWH&lt;=$srcWH)<br />
{<br />
$ctoH=$toH;<br />
$ctoW=$ctoH*($this-&gt;srcW/$this-&gt;srcH);<br />
}<br />
else<br />
{<br />
$ctoW=$toW;<br />
$ctoH=$ctoW*($this-&gt;srcH/$this-&gt;srcW);<br />
}<br />
$allImg=$this-&gt;CreatImage($this-&gt;im,$ctoW,$ctoH,0,0,0,0,$this-&gt;srcW,$this-&gt;srcH);<br />
$cImg=$this-&gt;CreatImage($allImg,$toW,$toH,0,0,($ctoW-$toW)/2,($ctoH-$toH)/2,$toW,$toH);<br />
return $this-&gt;EchoImage($cImg,$toFile);<br />
ImageDestroy($cImg);<br />
ImageDestroy($allImg);<br />
}</p>
<p>//生成背景填充的缩图<br />
function BackFill($toFile,$toW,$toH,$bk1=255,$bk2=255,$bk3=255)<br />
{<br />
$toWH=$toW/$toH;<br />
$srcWH=$this-&gt;srcW/$this-&gt;srcH;<br />
if($toWH&lt;=$srcWH)<br />
{<br />
$ftoW=$toW;<br />
$ftoH=$ftoW*($this-&gt;srcH/$this-&gt;srcW);<br />
}<br />
else<br />
{<br />
$ftoH=$toH;<br />
$ftoW=$ftoH*($this-&gt;srcW/$this-&gt;srcH);<br />
}<br />
if(function_exists(&#8220;imagecreatetruecolor&#8221;))<br />
{<br />
@$cImg=ImageCreateTrueColor($toW,$toH);<br />
if(!$cImg)<br />
{<br />
$cImg=ImageCreate($toW,$toH);<br />
}<br />
}<br />
else<br />
{<br />
$cImg=ImageCreate($toW,$toH);<br />
}<br />
$backcolor = imagecolorallocate($cImg, $bk1, $bk2, $bk3);        //填充的背景颜色<br />
ImageFilledRectangle($cImg,0,0,$toW,$toH,$backcolor);<br />
if($this-&gt;srcW&gt;$toW||$this-&gt;srcH&gt;$toH)<br />
{<br />
$proImg=$this-&gt;CreatImage($this-&gt;im,$ftoW,$ftoH,0,0,0,0,$this-&gt;srcW,$this-&gt;srcH);<br />
/*<br />
if($ftoW&lt;$toW)<br />
{<br />
ImageCopyMerge($cImg,$proImg,($toW-$ftoW)/2,0,0,0,$ftoW,$ftoH,100);<br />
}<br />
else if($ftoH&lt;$toH)<br />
{<br />
ImageCopyMerge($cImg,$proImg,0,($toH-$ftoH)/2,0,0,$ftoW,$ftoH,100);<br />
}<br />
*/<br />
if($ftoW&lt;$toW)<br />
{<br />
ImageCopy($cImg,$proImg,($toW-$ftoW)/2,0,0,0,$ftoW,$ftoH);<br />
}<br />
else if($ftoH&lt;$toH)<br />
{<br />
ImageCopy($cImg,$proImg,0,($toH-$ftoH)/2,0,0,$ftoW,$ftoH);<br />
}<br />
else<br />
{<br />
ImageCopy($cImg,$proImg,0,0,0,0,$ftoW,$ftoH);<br />
}<br />
}<br />
else<br />
{<br />
ImageCopyMerge($cImg,$this-&gt;im,($toW-$ftoW)/2,($toH-$ftoH)/2,0,0,$ftoW,$ftoH,100);<br />
}<br />
return $this-&gt;EchoImage($cImg,$toFile);<br />
ImageDestroy($cImg);<br />
}</p>
<p>function CreatImage($img,$creatW,$creatH,$dstX,$dstY,$srcX,$srcY,$srcImgW,$srcImgH)<br />
{<br />
if(function_exists(&#8220;imagecreatetruecolor&#8221;))<br />
{<br />
@$creatImg = ImageCreateTrueColor($creatW,$creatH);<br />
if($creatImg)<br />
ImageCopyResampled($creatImg,$img,$dstX,$dstY,$srcX,$srcY,$creatW,$creatH,$srcImgW,$srcImgH);<br />
else<br />
{<br />
$creatImg=ImageCreate($creatW,$creatH);<br />
ImageCopyResized($creatImg,$img,$dstX,$dstY,$srcX,$srcY,$creatW,$creatH,$srcImgW,$srcImgH);<br />
}<br />
}<br />
else<br />
{<br />
$creatImg=ImageCreate($creatW,$creatH);<br />
ImageCopyResized($creatImg,$img,$dstX,$dstY,$srcX,$srcY,$creatW,$creatH,$srcImgW,$srcImgH);<br />
}<br />
return $creatImg;<br />
}</p>
<p>//输出图片，link&#8212;只输出，不保存文件。file&#8211;保存为文件<br />
function EchoImage($img,$to_File)<br />
{<br />
switch($this-&gt;echoType)<br />
{<br />
case &#8220;link&#8221;:<br />
if(function_exists(&#8216;imagejpeg&#8217;)) return ImageJpeg($img);<br />
else return ImagePNG($img);<br />
break;<br />
case &#8220;file&#8221;:<br />
if(function_exists(&#8216;imagejpeg&#8217;)) return ImageJpeg($img,$to_File);<br />
else return ImagePNG($img,$to_File);<br />
break;<br />
}<br />
}</p>
<p>}<br />
?&gt;<br />
&lt;?<br />
if ($_POST[&#8220;action&#8221;]==&#8221;addnew&#8221;) {<br />
$pxname=&#8221;&#8221;;<br />
if(!$_FILES[&#8216;myphoto&#8217;][&#8216;error&#8217;]){<br />
$f=$_FILES[&#8216;myphoto&#8217;];<br />
$kzm=strtolower(trim(substr($f[&#8216;name&#8217;],-4)));<br />
if($kzm!=&#8221;.jpg&#8221; and $kzm!=&#8221;.gif&#8221; and $kzm!=&#8221;.png&#8221; and $kzm!=&#8221;.bmp&#8221;)<br />
{<br />
echo &#8220;&lt;script&gt;alert(&#8216;图片格式不对!($kzm)&#8217;);location.href=&#8217;javascript:history.back()&#8217;;&lt;/script&gt;&#8221;;<br />
die;<br />
}<br />
$dest_dir=&#8217;images&#8217;;//设定上传目录<br />
$pxname=date(&#8220;ymdhis&#8221;).&#8221;_&#8221;.&#8221;s&#8221;.substr($f[&#8216;name&#8217;],-4);<br />
$dest=$dest_dir.&#8217;/&#8217;.$pxname;//我这里设置文件名为日期加上文件名避免重复<br />
$r=move_uploaded_file($f[&#8216;tmp_name&#8217;],$dest);<br />
chmod($dest, 0755);//设定上传的文件的属性<br />
}</p>
<p>$cm=new CreatMiniature();<br />
$cm-&gt;SetVar(&#8220;images/&#8221;.$pxname,&#8221;file&#8221;);<br />
$cm-&gt;Prorate(&#8220;images/&#8221;.$pxname,150,200);<br />
}<br />
?&gt;</p>
<p>&lt;?<br />
//使用示例<br />
//    include(&#8220;thumb.php&#8221;);<br />
//    $cm=new CreatMiniature();<br />
//    $cm-&gt;SetVar(&#8220;1.jpg&#8221;,&#8221;file&#8221;);<br />
//    $cm-&gt;Distortion(&#8220;dis_bei.jpg&#8221;,150,200);<br />
//    $cm-&gt;Prorate(&#8220;pro_bei.jpg&#8221;,150,200);<br />
//    $cm-&gt;Cut(&#8220;cut_bei.jpg&#8221;,150,200);<br />
//    $cm-&gt;BackFill(&#8220;fill_bei.jpg&#8221;,150,200);&lt;/p&gt;<br />
?&gt;</p>
<p>&lt;p&gt;&amp;nbsp;&lt;/p&gt;<br />
&lt;p&gt;&amp;nbsp;&lt;/p&gt;<br />
&lt;form name=&#8221;form1&#8243; enctype=&#8221;multipart/form-data&#8221; method=&#8221;post&#8221; action=&#8221;&#8221;&gt;<br />
&lt;input name=&#8221;myphoto&#8221; type=&#8221;file&#8221; id=&#8221;myphoto&#8221;&gt;<br />
&lt;input type=&#8221;submit&#8221; name=&#8221;Submit&#8221; value=&#8221;提交&#8221;&gt;<br />
&lt;input name=&#8221;action&#8221; type=&#8221;hidden&#8221; id=&#8221;action&#8221; value=&#8221;addnew&#8221;&gt;<br />
&lt;/form&gt;<br />
&lt;p&gt;&amp;nbsp;&lt;/p&gt;</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>php缩略图程序</title>
		<link>https://www.3code.cn/php-thu/</link>
		
		<dc:creator><![CDATA[寒林]]></dc:creator>
		<pubDate>Fri, 30 Jul 2010 04:46:17 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[PHP图片]]></category>
		<category><![CDATA[PHP图片上传]]></category>
		<guid isPermaLink="false">https://www.3code.cn/?p=1826</guid>

					<description><![CDATA[这是一款利用php自带的功能把指定的大图生成我们指定大小的缩略图代码哦
使用方便简单，只要把设置下面四个参数就可以生成自己想的大小的缩略图哦。]]></description>
										<content:encoded><![CDATA[<p>这是一款利用php自带的功能把指定的大图生成我们指定大小的缩略图代码哦<br />
使用方便简单，只要把设置下面四个参数就可以生成自己想的大小的缩略图哦。</p>
<p>*/</p>
<blockquote><p>function bigtosmallimg($file,$path,$w=120,$h=90)<br />
{<br />
$img=$path.$file;<br />
$imgarr=getimagesize($img);<br />
$sw=$imgarr[0];//原图宽<br />
$sh=$imgarr[1];//原图高<br />
$stype=$imgarr[2];<br />
//按比例缩放<br />
if($sw/$sh&gt;$w/$h){<br />
$mw=$w;<br />
$mh=(int)$sh*($w/$sw);<br />
}<br />
else{<br />
$mw=(int)$sw*($h/$sh);<br />
$mh=$h;<br />
}</p>
<p>switch($stype){//根据上传好的图形文件类型新建一个用来生成缩略图的源文件。<br />
case 1:<br />
$srcf = imagecreatefromgif($img);<br />
break;<br />
case 2:<br />
$srcf = imagecreatefromjpeg($img);<br />
break;<br />
case 3:<br />
$srcf = imagecreatefrompng($img);<br />
break;<br />
default:<br />
showmsg(&#8216;程序调用错误。&#8217;);<br />
break;<br />
}</p>
<p>$desf =imagecreatetruecolor($mw,$mh);</p>
<p>imagecopyresampled($desf,$srcf,0,0,0,0,$mw,$mh,$sw,$sh);<br />
$sm_name=$path.&#8221;s_&#8221;.$file;<br />
switch($stype){<br />
case 1:<br />
imagegif($desf,$sm_name);<br />
break;<br />
case 2:<br />
imagejpeg($desf,$sm_name);<br />
break;<br />
case 3:<br />
imagepng($desf,$sm_name);<br />
break;<br />
default:<br />
showmsg(&#8216;无法生成&#8217; . $stype . &#8216;的缩略图。&#8217;);<br />
break;<br />
}<br />
imagedestroy($desf);<br />
imagedestroy($srcf);</p>
<p>}</p></blockquote>
<p>//此缩略图调用方法</p>
<blockquote><p>bigtosmallimg($file,$path,$w=120,$h=90);<br />
/*</p></blockquote>
<p>$file = 图片的路径<br />
$path = 生成后保存的路径<br />
$w =图片宽度<br />
$h =图片高度<br />
*/</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>PHP常用图片处理类</title>
		<link>https://www.3code.cn/php-image-handle-class/</link>
		
		<dc:creator><![CDATA[寒林]]></dc:creator>
		<pubDate>Mon, 02 Nov 2009 06:08:16 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[PHP图片]]></category>
		<category><![CDATA[PHP图片上传]]></category>
		<guid isPermaLink="false">https://www.3code.cn/?p=101</guid>

					<description><![CDATA[php常用图片处理类--等比缩放，水印，裁剪，创建缩略图]]></description>
										<content:encoded><![CDATA[<div>
<p><strong>php常用图片处理类</strong></p>
<p><code><span style="color: #000000;"><span style="color: #0000bb;">&lt;?<br />
</span><span style="color: #007700;">class </span><span style="color: #0000bb;">image </span><span style="color: #007700;">{<br />
</span><span style="color: #ff8000;">// 当前图片<br />
</span><span style="color: #0000bb;">protected  $img</span><span style="color: #007700;">;<br />
</span><span style="color: #ff8000;">//  图像types 对应表<br />
</span><span style="color: #0000bb;">protected $types </span><span style="color: #007700;">= array(<br />
</span><span style="color: #0000bb;">1 </span><span style="color: #007700;">=&gt; </span><span style="color: #dd0000;">'gif'</span><span style="color: #007700;">,<br />
</span><span style="color: #0000bb;">2 </span><span style="color: #007700;">=&gt; </span><span style="color: #dd0000;">'jpg'</span><span style="color: #007700;">,<br />
</span><span style="color: #0000bb;">3 </span><span style="color: #007700;">=&gt; </span><span style="color: #dd0000;">'png'</span><span style="color: #007700;">,<br />
</span><span style="color: #0000bb;">6 </span><span style="color: #007700;">=&gt; </span><span style="color: #dd0000;">'bmp'<br />
</span><span style="color: #007700;">);</span></span></code></p>
<p><span style="color: #ff8000;">// image<br />
</span><span style="color: #0000bb;">public </span><span style="color: #007700;">function </span><span style="color: #0000bb;">__construct</span><span style="color: #007700;">(</span><span style="color: #0000bb;">$img</span><span style="color: #007700;">=</span><span style="color: #dd0000;">&#8221;</span><span style="color: #007700;">){<br />
!</span><span style="color: #0000bb;">$img </span><span style="color: #007700;">&amp;&amp; </span><span style="color: #0000bb;">$this</span><span style="color: #007700;">-&gt;</span><span style="color: #0000bb;">param</span><span style="color: #007700;">(</span><span style="color: #0000bb;">$img</span><span style="color: #007700;">);<br />
}</span></p>
<p><span style="color: #ff8000;">//  Info<br />
</span><span style="color: #0000bb;">public </span><span style="color: #007700;">function </span><span style="color: #0000bb;">param</span><span style="color: #007700;">(</span><span style="color: #0000bb;">$img</span><span style="color: #007700;">){<br />
</span><span style="color: #0000bb;">$this</span><span style="color: #007700;">-&gt;</span><span style="color: #0000bb;">img </span><span style="color: #007700;">= </span><span style="color: #0000bb;">$img</span><span style="color: #007700;">;<br />
return </span><span style="color: #0000bb;">$this</span><span style="color: #007700;">;<br />
}</span></p>
<p><span style="color: #ff8000;">// imageInfo<br />
</span><span style="color: #0000bb;">public </span><span style="color: #007700;">function </span><span style="color: #0000bb;">getImageInfo</span><span style="color: #007700;">(</span><span style="color: #0000bb;">$img</span><span style="color: #007700;">){<br />
</span><span style="color: #0000bb;">$info </span><span style="color: #007700;">= @</span><span style="color: #0000bb;">getimagesize</span><span style="color: #007700;">(</span><span style="color: #0000bb;">$img</span><span style="color: #007700;">);<br />
if(isset(</span><span style="color: #0000bb;">$this</span><span style="color: #007700;">-&gt;</span><span style="color: #0000bb;">types</span><span style="color: #007700;">[</span><span style="color: #0000bb;">$info</span><span style="color: #007700;">[</span><span style="color: #0000bb;">2</span><span style="color: #007700;">]])){<br />
</span><span style="color: #0000bb;">$info</span><span style="color: #007700;">[</span><span style="color: #dd0000;">&#8216;ext&#8217;</span><span style="color: #007700;">] = </span><span style="color: #0000bb;">$info</span><span style="color: #007700;">[</span><span style="color: #dd0000;">&#8216;type&#8217;</span><span style="color: #007700;">] = </span><span style="color: #0000bb;">$this</span><span style="color: #007700;">-&gt;</span><span style="color: #0000bb;">types</span><span style="color: #007700;">[</span><span style="color: #0000bb;">$info</span><span style="color: #007700;">[</span><span style="color: #0000bb;">2</span><span style="color: #007700;">]];<br />
} else{<br />
</span><span style="color: #0000bb;">$info</span><span style="color: #007700;">[</span><span style="color: #dd0000;">&#8216;ext&#8217;</span><span style="color: #007700;">] = </span><span style="color: #0000bb;">$info</span><span style="color: #007700;">[</span><span style="color: #dd0000;">&#8216;type&#8217;</span><span style="color: #007700;">] = </span><span style="color: #dd0000;">&#8216;jpg&#8217;</span><span style="color: #007700;">;<br />
}<br />
</span><span style="color: #0000bb;">$info</span><span style="color: #007700;">[</span><span style="color: #dd0000;">&#8216;type&#8217;</span><span style="color: #007700;">] == </span><span style="color: #dd0000;">&#8216;jpg&#8217; </span><span style="color: #007700;">&amp;&amp; </span><span style="color: #0000bb;">$info</span><span style="color: #007700;">[</span><span style="color: #dd0000;">&#8216;type&#8217;</span><span style="color: #007700;">] = </span><span style="color: #dd0000;">&#8216;jpeg&#8217;</span><span style="color: #007700;">;<br />
</span><span style="color: #0000bb;">$info</span><span style="color: #007700;">[</span><span style="color: #dd0000;">&#8216;size&#8217;</span><span style="color: #007700;">] =  @</span><span style="color: #0000bb;">filesize</span><span style="color: #007700;">(</span><span style="color: #0000bb;">$img</span><span style="color: #007700;">);<br />
return </span><span style="color: #0000bb;">$info</span><span style="color: #007700;">;<br />
}</span></p>
<p><span style="color: #ff8000;">// thumb(新图地址, 宽, 高, 裁剪,  允许放大)<br />
</span><span style="color: #0000bb;">public </span><span style="color: #007700;">function </span><span style="color: #0000bb;">thumb</span><span style="color: #007700;">(</span><span style="color: #0000bb;">$filename</span><span style="color: #007700;">,</span><span style="color: #0000bb;">$new_w</span><span style="color: #007700;">=</span><span style="color: #0000bb;">160</span><span style="color: #007700;">,</span><span style="color: #0000bb;">$new_h</span><span style="color: #007700;">=</span><span style="color: #0000bb;">120</span><span style="color: #007700;">,</span><span style="color: #0000bb;">$cut</span><span style="color: #007700;">=</span><span style="color: #0000bb;">0</span><span style="color: #007700;">,</span><span style="color: #0000bb;">$big</span><span style="color: #007700;">=</span><span style="color: #0000bb;">0</span><span style="color: #007700;">){<br />
</span><span style="color: #ff8000;">// 获取原图信息<br />
</span><span style="color: #0000bb;">$info </span><span style="color: #007700;">= </span><span style="color: #0000bb;">$this</span><span style="color: #007700;">-&gt;</span><span style="color: #0000bb;">getImageInfo</span><span style="color: #007700;">(</span><span style="color: #0000bb;">$this</span><span style="color: #007700;">-&gt;</span><span style="color: #0000bb;">img</span><span style="color: #007700;">);<br />
if(!</span><span style="color: #0000bb;">emptyempty</span><span style="color: #007700;">(</span><span style="color: #0000bb;">$info</span><span style="color: #007700;">[</span><span style="color: #0000bb;">0</span><span style="color: #007700;">])) {<br />
</span><span style="color: #0000bb;">$old_w </span><span style="color: #007700;">= </span><span style="color: #0000bb;">$info</span><span style="color: #007700;">[</span><span style="color: #0000bb;">0</span><span style="color: #007700;">];<br />
</span><span style="color: #0000bb;">$old_h </span><span style="color: #007700;">= </span><span style="color: #0000bb;">$info</span><span style="color: #007700;">[</span><span style="color: #0000bb;">1</span><span style="color: #007700;">];<br />
</span><span style="color: #0000bb;">$type </span><span style="color: #007700;">= </span><span style="color: #0000bb;">$info</span><span style="color: #007700;">[</span><span style="color: #dd0000;">&#8216;type&#8217;</span><span style="color: #007700;">];<br />
</span><span style="color: #0000bb;">$ext </span><span style="color: #007700;">= </span><span style="color: #0000bb;">$info</span><span style="color: #007700;">[</span><span style="color: #dd0000;">&#8216;ext&#8217;</span><span style="color: #007700;">];<br />
unset(</span><span style="color: #0000bb;">$info</span><span style="color: #007700;">);<br />
</span><span style="color: #ff8000;">// 如果原图比缩略图小  并且不允许放大<br />
</span><span style="color: #007700;">if(</span><span style="color: #0000bb;">$old_w </span><span style="color: #007700;">&lt; </span><span style="color: #0000bb;">$new_h </span><span style="color: #007700;">&amp;&amp; </span><span style="color: #0000bb;">$old_h </span><span style="color: #007700;">&lt; </span><span style="color: #0000bb;">$new_w </span><span style="color: #007700;">&amp;&amp; !</span><span style="color: #0000bb;">$big</span><span style="color: #007700;">){<br />
return </span><span style="color: #0000bb;">false</span><span style="color: #007700;">;<br />
}<br />
</span><span style="color: #ff8000;">// 裁剪图片<br />
</span><span style="color: #007700;">if(</span><span style="color: #0000bb;">$cut </span><span style="color: #007700;">== </span><span style="color: #0000bb;">0</span><span style="color: #007700;">){ </span><span style="color: #ff8000;">// 等比列<br />
</span><span style="color: #0000bb;">$scale </span><span style="color: #007700;">= </span><span style="color: #0000bb;">min</span><span style="color: #007700;">(</span><span style="color: #0000bb;">$new_w</span><span style="color: #007700;">/</span><span style="color: #0000bb;">$old_w</span><span style="color: #007700;">, </span><span style="color: #0000bb;">$new_h</span><span style="color: #007700;">/</span><span style="color: #0000bb;">$old_h</span><span style="color: #007700;">); </span><span style="color: #ff8000;">//  计算缩放比例<br />
</span><span style="color: #0000bb;">$width </span><span style="color: #007700;">= (int)(</span><span style="color: #0000bb;">$old_w</span><span style="color: #007700;">*</span><span style="color: #0000bb;">$scale</span><span style="color: #007700;">); </span><span style="color: #ff8000;">//  缩略图尺寸<br />
</span><span style="color: #0000bb;">$height </span><span style="color: #007700;">= (int)(</span><span style="color: #0000bb;">$old_h</span><span style="color: #007700;">*</span><span style="color: #0000bb;">$scale</span><span style="color: #007700;">);<br />
</span><span style="color: #0000bb;">$start_w </span><span style="color: #007700;">= </span><span style="color: #0000bb;">$start_h </span><span style="color: #007700;">= </span><span style="color: #0000bb;">0</span><span style="color: #007700;">;<br />
</span><span style="color: #0000bb;">$end_w </span><span style="color: #007700;">= </span><span style="color: #0000bb;">$old_w</span><span style="color: #007700;">;<br />
</span><span style="color: #0000bb;">$end_h </span><span style="color: #007700;">= </span><span style="color: #0000bb;">$old_h</span><span style="color: #007700;">;<br />
} elseif(</span><span style="color: #0000bb;">$cut </span><span style="color: #007700;">== </span><span style="color: #0000bb;">1</span><span style="color: #007700;">){ </span><span style="color: #ff8000;">// center center 裁剪<br />
</span><span style="color: #0000bb;">$scale1 </span><span style="color: #007700;">= </span><span style="color: #0000bb;">round</span><span style="color: #007700;">(</span><span style="color: #0000bb;">$new_w</span><span style="color: #007700;">/</span><span style="color: #0000bb;">$new_h</span><span style="color: #007700;">,</span><span style="color: #0000bb;">2</span><span style="color: #007700;">);<br />
</span><span style="color: #0000bb;">$scale2 </span><span style="color: #007700;">= </span><span style="color: #0000bb;">round</span><span style="color: #007700;">(</span><span style="color: #0000bb;">$old_w</span><span style="color: #007700;">/</span><span style="color: #0000bb;">$old_h</span><span style="color: #007700;">,</span><span style="color: #0000bb;">2</span><span style="color: #007700;">);<br />
if(</span><span style="color: #0000bb;">$scale1 </span><span style="color: #007700;">&gt; </span><span style="color: #0000bb;">$scale2</span><span style="color: #007700;">){<br />
</span><span style="color: #0000bb;">$end_h </span><span style="color: #007700;">= </span><span style="color: #0000bb;">round</span><span style="color: #007700;">(</span><span style="color: #0000bb;">$old_w</span><span style="color: #007700;">/</span><span style="color: #0000bb;">$scale1</span><span style="color: #007700;">,</span><span style="color: #0000bb;">2</span><span style="color: #007700;">);<br />
</span><span style="color: #0000bb;">$start_h </span><span style="color: #007700;">= (</span><span style="color: #0000bb;">$old_h</span><span style="color: #007700;">&#8211;</span><span style="color: #0000bb;">$end_h</span><span style="color: #007700;">)/</span><span style="color: #0000bb;">2</span><span style="color: #007700;">;<br />
</span><span style="color: #0000bb;">$start_w </span><span style="color: #007700;">= </span><span style="color: #0000bb;">0</span><span style="color: #007700;">;<br />
</span><span style="color: #0000bb;">$end_w </span><span style="color: #007700;">= </span><span style="color: #0000bb;">$old_w</span><span style="color: #007700;">;<br />
} else{<br />
</span><span style="color: #0000bb;">$end_w </span><span style="color: #007700;">= </span><span style="color: #0000bb;">round</span><span style="color: #007700;">(</span><span style="color: #0000bb;">$old_h</span><span style="color: #007700;">*</span><span style="color: #0000bb;">$scale1</span><span style="color: #007700;">,</span><span style="color: #0000bb;">2</span><span style="color: #007700;">);<br />
</span><span style="color: #0000bb;">$start_w </span><span style="color: #007700;">= (</span><span style="color: #0000bb;">$old_w</span><span style="color: #007700;">&#8211;</span><span style="color: #0000bb;">$end_w</span><span style="color: #007700;">)/</span><span style="color: #0000bb;">2</span><span style="color: #007700;">;<br />
</span><span style="color: #0000bb;">$start_h </span><span style="color: #007700;">= </span><span style="color: #0000bb;">0</span><span style="color: #007700;">;<br />
</span><span style="color: #0000bb;">$end_h </span><span style="color: #007700;">= </span><span style="color: #0000bb;">$old_h</span><span style="color: #007700;">;<br />
}<br />
</span><span style="color: #0000bb;">$width </span><span style="color: #007700;">= </span><span style="color: #0000bb;">$new_w</span><span style="color: #007700;">;<br />
</span><span style="color: #0000bb;">$height</span><span style="color: #007700;">= </span><span style="color: #0000bb;">$new_h</span><span style="color: #007700;">;<br />
} elseif(</span><span style="color: #0000bb;">$cut </span><span style="color: #007700;">== </span><span style="color: #0000bb;">2</span><span style="color: #007700;">){ </span><span style="color: #ff8000;">// left top 裁剪<br />
</span><span style="color: #0000bb;">$scale1 </span><span style="color: #007700;">= </span><span style="color: #0000bb;">round</span><span style="color: #007700;">(</span><span style="color: #0000bb;">$new_w</span><span style="color: #007700;">/</span><span style="color: #0000bb;">$new_h</span><span style="color: #007700;">,</span><span style="color: #0000bb;">2</span><span style="color: #007700;">);<br />
</span><span style="color: #0000bb;">$scale2 </span><span style="color: #007700;">= </span><span style="color: #0000bb;">round</span><span style="color: #007700;">(</span><span style="color: #0000bb;">$old_w</span><span style="color: #007700;">/</span><span style="color: #0000bb;">$old_h</span><span style="color: #007700;">,</span><span style="color: #0000bb;">2</span><span style="color: #007700;">);<br />
if(</span><span style="color: #0000bb;">$scale1 </span><span style="color: #007700;">&gt; </span><span style="color: #0000bb;">$scale2</span><span style="color: #007700;">){<br />
</span><span style="color: #0000bb;">$end_h </span><span style="color: #007700;">= </span><span style="color: #0000bb;">round</span><span style="color: #007700;">(</span><span style="color: #0000bb;">$old_w</span><span style="color: #007700;">/</span><span style="color: #0000bb;">$scale1</span><span style="color: #007700;">,</span><span style="color: #0000bb;">2</span><span style="color: #007700;">);<br />
</span><span style="color: #0000bb;">$end_w </span><span style="color: #007700;">= </span><span style="color: #0000bb;">$old_w</span><span style="color: #007700;">;<br />
} else{<br />
</span><span style="color: #0000bb;">$end_w </span><span style="color: #007700;">= </span><span style="color: #0000bb;">round</span><span style="color: #007700;">(</span><span style="color: #0000bb;">$old_h</span><span style="color: #007700;">*</span><span style="color: #0000bb;">$scale1</span><span style="color: #007700;">,</span><span style="color: #0000bb;">2</span><span style="color: #007700;">);<br />
</span><span style="color: #0000bb;">$end_h </span><span style="color: #007700;">= </span><span style="color: #0000bb;">$old_h</span><span style="color: #007700;">;<br />
}<br />
</span><span style="color: #0000bb;">$start_w </span><span style="color: #007700;">= </span><span style="color: #0000bb;">0</span><span style="color: #007700;">;<br />
</span><span style="color: #0000bb;">$start_h </span><span style="color: #007700;">= </span><span style="color: #0000bb;">0</span><span style="color: #007700;">;<br />
</span><span style="color: #0000bb;">$width </span><span style="color: #007700;">= </span><span style="color: #0000bb;">$new_w</span><span style="color: #007700;">;<br />
</span><span style="color: #0000bb;">$height</span><span style="color: #007700;">= </span><span style="color: #0000bb;">$new_h</span><span style="color: #007700;">;<br />
}<br />
</span><span style="color: #ff8000;">// 载入原图<br />
</span><span style="color: #0000bb;">$createFun </span><span style="color: #007700;">= </span><span style="color: #dd0000;">&#8216;ImageCreateFrom&#8217;</span><span style="color: #007700;">.</span><span style="color: #0000bb;">$type</span><span style="color: #007700;">;<br />
</span><span style="color: #0000bb;">$oldimg </span><span style="color: #007700;">= </span><span style="color: #0000bb;">$createFun</span><span style="color: #007700;">(</span><span style="color: #0000bb;">$this</span><span style="color: #007700;">-&gt;</span><span style="color: #0000bb;">img</span><span style="color: #007700;">);<br />
</span><span style="color: #ff8000;">// 创建缩略图<br />
</span><span style="color: #007700;">if(</span><span style="color: #0000bb;">$type</span><span style="color: #007700;">!=</span><span style="color: #dd0000;">&#8216;gif&#8217; </span><span style="color: #007700;">&amp;&amp; </span><span style="color: #0000bb;">function_exists</span><span style="color: #007700;">(</span><span style="color: #dd0000;">&#8216;imagecreatetruecolor&#8217;</span><span style="color: #007700;">)){<br />
</span><span style="color: #0000bb;">$newimg </span><span style="color: #007700;">= </span><span style="color: #0000bb;">imagecreatetruecolor</span><span style="color: #007700;">(</span><span style="color: #0000bb;">$width</span><span style="color: #007700;">, </span><span style="color: #0000bb;">$height</span><span style="color: #007700;">);<br />
}  else{<br />
</span><span style="color: #0000bb;">$newimg </span><span style="color: #007700;">= </span><span style="color: #0000bb;">imagecreate</span><span style="color: #007700;">(</span><span style="color: #0000bb;">$width</span><span style="color: #007700;">, </span><span style="color: #0000bb;">$height</span><span style="color: #007700;">);<br />
}<br />
</span><span style="color: #ff8000;">// 复制图片<br />
</span><span style="color: #007700;">if(</span><span style="color: #0000bb;">function_exists</span><span style="color: #007700;">(</span><span style="color: #dd0000;">&#8220;ImageCopyResampled&#8221;</span><span style="color: #007700;">)){<br />
</span><span style="color: #0000bb;">ImageCopyResampled</span><span style="color: #007700;">(</span><span style="color: #0000bb;">$newimg</span><span style="color: #007700;">, </span><span style="color: #0000bb;">$oldimg</span><span style="color: #007700;">, </span><span style="color: #0000bb;">0</span><span style="color: #007700;">, </span><span style="color: #0000bb;">0</span><span style="color: #007700;">, </span><span style="color: #0000bb;">$start_w</span><span style="color: #007700;">, </span><span style="color: #0000bb;">$start_h</span><span style="color: #007700;">, </span><span style="color: #0000bb;">$width</span><span style="color: #007700;">, </span><span style="color: #0000bb;">$height</span><span style="color: #007700;">, </span><span style="color: #0000bb;">$end_w</span><span style="color: #007700;">,</span><span style="color: #0000bb;">$end_h</span><span style="color: #007700;">);<br />
} else{<br />
</span><span style="color: #0000bb;">ImageCopyResized</span><span style="color: #007700;">(</span><span style="color: #0000bb;">$newimg</span><span style="color: #007700;">, </span><span style="color: #0000bb;">$oldimg</span><span style="color: #007700;">, </span><span style="color: #0000bb;">0</span><span style="color: #007700;">, </span><span style="color: #0000bb;">0</span><span style="color: #007700;">, </span><span style="color: #0000bb;">$start_w</span><span style="color: #007700;">, </span><span style="color: #0000bb;">$start_h</span><span style="color: #007700;">, </span><span style="color: #0000bb;">$width</span><span style="color: #007700;">, </span><span style="color: #0000bb;">$height</span><span style="color: #007700;">, </span><span style="color: #0000bb;">$end_w</span><span style="color: #007700;">,</span><span style="color: #0000bb;">$end_h</span><span style="color: #007700;">);<br />
}</span></p>
<p><span style="color: #ff8000;">// 对jpeg图形设置隔行扫描<br />
</span><span style="color: #0000bb;">$type </span><span style="color: #007700;">== </span><span style="color: #dd0000;">&#8216;jpeg&#8217; </span><span style="color: #007700;">&amp;&amp; </span><span style="color: #0000bb;">imageinterlace</span><span style="color: #007700;">(</span><span style="color: #0000bb;">$newimg</span><span style="color: #007700;">,</span><span style="color: #0000bb;">1</span><span style="color: #007700;">);<br />
</span><span style="color: #ff8000;">// 生成图片<br />
</span><span style="color: #0000bb;">$imageFun </span><span style="color: #007700;">= </span><span style="color: #dd0000;">&#8216;image&#8217;</span><span style="color: #007700;">.</span><span style="color: #0000bb;">$type</span><span style="color: #007700;">;<br />
!@</span><span style="color: #0000bb;">$imageFun</span><span style="color: #007700;">(</span><span style="color: #0000bb;">$newimg</span><span style="color: #007700;">,</span><span style="color: #0000bb;">$filename</span><span style="color: #007700;">)  &amp;&amp; die(</span><span style="color: #dd0000;">&#8216;保存失败!检查目录是否存在并且可写?&#8217;</span><span style="color: #007700;">);<br />
</span><span style="color: #0000bb;">ImageDestroy</span><span style="color: #007700;">(</span><span style="color: #0000bb;">$newimg</span><span style="color: #007700;">);<br />
</span><span style="color: #0000bb;">ImageDestroy</span><span style="color: #007700;">(</span><span style="color: #0000bb;">$oldimg</span><span style="color: #007700;">);<br />
return </span><span style="color: #0000bb;">$filename</span><span style="color: #007700;">;<br />
}<br />
return </span><span style="color: #0000bb;">false</span><span style="color: #007700;">;<br />
}</span></p>
<p><span style="color: #ff8000;">// water(保存地址,水印图片,水印位置,透明度)<br />
</span><span style="color: #0000bb;">public </span><span style="color: #007700;">function </span><span style="color: #0000bb;">water</span><span style="color: #007700;">(</span><span style="color: #0000bb;">$filename</span><span style="color: #007700;">,</span><span style="color: #0000bb;">$water</span><span style="color: #007700;">,</span><span style="color: #0000bb;">$pos</span><span style="color: #007700;">=</span><span style="color: #0000bb;">0</span><span style="color: #007700;">,</span><span style="color: #0000bb;">$pct</span><span style="color: #007700;">=</span><span style="color: #0000bb;">80</span><span style="color: #007700;">){<br />
</span><span style="color: #ff8000;">// 加载水印图片<br />
</span><span style="color: #0000bb;">$info </span><span style="color: #007700;">= </span><span style="color: #0000bb;">$this</span><span style="color: #007700;">-&gt;</span><span style="color: #0000bb;">getImageInfo</span><span style="color: #007700;">(</span><span style="color: #0000bb;">$water</span><span style="color: #007700;">);<br />
if(!</span><span style="color: #0000bb;">emptyempty</span><span style="color: #007700;">(</span><span style="color: #0000bb;">$info</span><span style="color: #007700;">[</span><span style="color: #0000bb;">0</span><span style="color: #007700;">])){<br />
</span><span style="color: #0000bb;">$water_w </span><span style="color: #007700;">= </span><span style="color: #0000bb;">$info</span><span style="color: #007700;">[</span><span style="color: #0000bb;">0</span><span style="color: #007700;">];<br />
</span><span style="color: #0000bb;">$water_h </span><span style="color: #007700;">= </span><span style="color: #0000bb;">$info</span><span style="color: #007700;">[</span><span style="color: #0000bb;">1</span><span style="color: #007700;">];<br />
</span><span style="color: #0000bb;">$type </span><span style="color: #007700;">= </span><span style="color: #0000bb;">$info</span><span style="color: #007700;">[</span><span style="color: #dd0000;">&#8216;type&#8217;</span><span style="color: #007700;">];<br />
</span><span style="color: #0000bb;">$fun </span><span style="color: #007700;">= </span><span style="color: #dd0000;">&#8216;imagecreatefrom&#8217;</span><span style="color: #007700;">.</span><span style="color: #0000bb;">$type</span><span style="color: #007700;">;<br />
</span><span style="color: #0000bb;">$waterimg </span><span style="color: #007700;">= </span><span style="color: #0000bb;">$fun</span><span style="color: #007700;">(</span><span style="color: #0000bb;">$water</span><span style="color: #007700;">);<br />
} else{<br />
return </span><span style="color: #0000bb;">false</span><span style="color: #007700;">;<br />
}<br />
</span><span style="color: #ff8000;">// 加载背景图片<br />
</span><span style="color: #0000bb;">$info </span><span style="color: #007700;">= </span><span style="color: #0000bb;">$this</span><span style="color: #007700;">-&gt;</span><span style="color: #0000bb;">getImageInfo</span><span style="color: #007700;">(</span><span style="color: #0000bb;">$this</span><span style="color: #007700;">-&gt;</span><span style="color: #0000bb;">img</span><span style="color: #007700;">);<br />
if(!</span><span style="color: #0000bb;">emptyempty</span><span style="color: #007700;">(</span><span style="color: #0000bb;">$info</span><span style="color: #007700;">[</span><span style="color: #0000bb;">0</span><span style="color: #007700;">])){<br />
</span><span style="color: #0000bb;">$old_w </span><span style="color: #007700;">= </span><span style="color: #0000bb;">$info</span><span style="color: #007700;">[</span><span style="color: #0000bb;">0</span><span style="color: #007700;">];<br />
</span><span style="color: #0000bb;">$old_h </span><span style="color: #007700;">= </span><span style="color: #0000bb;">$info</span><span style="color: #007700;">[</span><span style="color: #0000bb;">1</span><span style="color: #007700;">];<br />
</span><span style="color: #0000bb;">$type </span><span style="color: #007700;">= </span><span style="color: #0000bb;">$info</span><span style="color: #007700;">[</span><span style="color: #dd0000;">&#8216;type&#8217;</span><span style="color: #007700;">];<br />
</span><span style="color: #0000bb;">$fun </span><span style="color: #007700;">= </span><span style="color: #dd0000;">&#8216;imagecreatefrom&#8217;</span><span style="color: #007700;">.</span><span style="color: #0000bb;">$type</span><span style="color: #007700;">;<br />
</span><span style="color: #0000bb;">$oldimg </span><span style="color: #007700;">= </span><span style="color: #0000bb;">$fun</span><span style="color: #007700;">(</span><span style="color: #0000bb;">$this</span><span style="color: #007700;">-&gt;</span><span style="color: #0000bb;">img</span><span style="color: #007700;">);<br />
} else{<br />
return </span><span style="color: #0000bb;">false</span><span style="color: #007700;">;<br />
}<br />
</span><span style="color: #ff8000;">// 剪切水印<br />
</span><span style="color: #0000bb;">$water_w </span><span style="color: #007700;">&gt;</span><span style="color: #0000bb;">$old_w </span><span style="color: #007700;">&amp;&amp; </span><span style="color: #0000bb;">$water_w </span><span style="color: #007700;">= </span><span style="color: #0000bb;">$old_w</span><span style="color: #007700;">;<br />
</span><span style="color: #0000bb;">$water_h </span><span style="color: #007700;">&gt;</span><span style="color: #0000bb;">$old_h </span><span style="color: #007700;">&amp;&amp; </span><span style="color: #0000bb;">$water_h </span><span style="color: #007700;">= </span><span style="color: #0000bb;">$old_h</span><span style="color: #007700;">;</span></p>
<p><span style="color: #ff8000;">//  水印位置<br />
</span><span style="color: #007700;">switch(</span><span style="color: #0000bb;">$pos</span><span style="color: #007700;">){<br />
case </span><span style="color: #0000bb;">0</span><span style="color: #007700;">:</span><span style="color: #ff8000;">//随机<br />
</span><span style="color: #0000bb;">$posX </span><span style="color: #007700;">= </span><span style="color: #0000bb;">rand</span><span style="color: #007700;">(</span><span style="color: #0000bb;">0</span><span style="color: #007700;">,(</span><span style="color: #0000bb;">$old_w </span><span style="color: #007700;">&#8211; </span><span style="color: #0000bb;">$water_w</span><span style="color: #007700;">));<br />
</span><span style="color: #0000bb;">$posY </span><span style="color: #007700;">= </span><span style="color: #0000bb;">rand</span><span style="color: #007700;">(</span><span style="color: #0000bb;">0</span><span style="color: #007700;">,(</span><span style="color: #0000bb;">$old_h </span><span style="color: #007700;">&#8211; </span><span style="color: #0000bb;">$water_h</span><span style="color: #007700;">));<br />
break;<br />
case </span><span style="color: #0000bb;">1</span><span style="color: #007700;">:</span><span style="color: #ff8000;">//1为顶端居左<br />
</span><span style="color: #0000bb;">$posX </span><span style="color: #007700;">= </span><span style="color: #0000bb;">0</span><span style="color: #007700;">;<br />
</span><span style="color: #0000bb;">$posY </span><span style="color: #007700;">= </span><span style="color: #0000bb;">0</span><span style="color: #007700;">;<br />
break;<br />
case </span><span style="color: #0000bb;">2</span><span style="color: #007700;">:</span><span style="color: #ff8000;">//2为顶端居中<br />
</span><span style="color: #0000bb;">$posX </span><span style="color: #007700;">= (</span><span style="color: #0000bb;">$old_w </span><span style="color: #007700;">&#8211; </span><span style="color: #0000bb;">$water_w</span><span style="color: #007700;">) / </span><span style="color: #0000bb;">2</span><span style="color: #007700;">;<br />
</span><span style="color: #0000bb;">$posY </span><span style="color: #007700;">= </span><span style="color: #0000bb;">0</span><span style="color: #007700;">;<br />
break;<br />
case </span><span style="color: #0000bb;">3</span><span style="color: #007700;">:</span><span style="color: #ff8000;">//3为顶端居右<br />
</span><span style="color: #0000bb;">$posX </span><span style="color: #007700;">= </span><span style="color: #0000bb;">$old_w </span><span style="color: #007700;">&#8211; </span><span style="color: #0000bb;">$water_w</span><span style="color: #007700;">;<br />
</span><span style="color: #0000bb;">$posY </span><span style="color: #007700;">= </span><span style="color: #0000bb;">0</span><span style="color: #007700;">;<br />
break;<br />
case </span><span style="color: #0000bb;">4</span><span style="color: #007700;">:</span><span style="color: #ff8000;">//4为中部居左<br />
</span><span style="color: #0000bb;">$posX </span><span style="color: #007700;">= </span><span style="color: #0000bb;">0</span><span style="color: #007700;">;<br />
</span><span style="color: #0000bb;">$posY </span><span style="color: #007700;">= (</span><span style="color: #0000bb;">$old_h </span><span style="color: #007700;">&#8211; </span><span style="color: #0000bb;">$water_h</span><span style="color: #007700;">) / </span><span style="color: #0000bb;">2</span><span style="color: #007700;">;<br />
break;<br />
case </span><span style="color: #0000bb;">5</span><span style="color: #007700;">:</span><span style="color: #ff8000;">//5为中部居中<br />
</span><span style="color: #0000bb;">$posX </span><span style="color: #007700;">= (</span><span style="color: #0000bb;">$old_w </span><span style="color: #007700;">&#8211; </span><span style="color: #0000bb;">$water_w</span><span style="color: #007700;">) / </span><span style="color: #0000bb;">2</span><span style="color: #007700;">;<br />
</span><span style="color: #0000bb;">$posY </span><span style="color: #007700;">= (</span><span style="color: #0000bb;">$old_h </span><span style="color: #007700;">&#8211; </span><span style="color: #0000bb;">$water_h</span><span style="color: #007700;">) / </span><span style="color: #0000bb;">2</span><span style="color: #007700;">;<br />
break;<br />
case </span><span style="color: #0000bb;">6</span><span style="color: #007700;">:</span><span style="color: #ff8000;">//6为中部居右<br />
</span><span style="color: #0000bb;">$posX </span><span style="color: #007700;">= </span><span style="color: #0000bb;">$old_w </span><span style="color: #007700;">&#8211; </span><span style="color: #0000bb;">$water_w</span><span style="color: #007700;">;<br />
</span><span style="color: #0000bb;">$posY </span><span style="color: #007700;">= (</span><span style="color: #0000bb;">$old_h </span><span style="color: #007700;">&#8211; </span><span style="color: #0000bb;">$water_h</span><span style="color: #007700;">) / </span><span style="color: #0000bb;">2</span><span style="color: #007700;">;<br />
break;<br />
case </span><span style="color: #0000bb;">7</span><span style="color: #007700;">:</span><span style="color: #ff8000;">//7为底端居左<br />
</span><span style="color: #0000bb;">$posX </span><span style="color: #007700;">= </span><span style="color: #0000bb;">0</span><span style="color: #007700;">;<br />
</span><span style="color: #0000bb;">$posY </span><span style="color: #007700;">= </span><span style="color: #0000bb;">$old_h </span><span style="color: #007700;">&#8211; </span><span style="color: #0000bb;">$water_h</span><span style="color: #007700;">;<br />
break;<br />
case </span><span style="color: #0000bb;">8</span><span style="color: #007700;">:</span><span style="color: #ff8000;">//8为底端居中<br />
</span><span style="color: #0000bb;">$posX </span><span style="color: #007700;">= (</span><span style="color: #0000bb;">$old_w </span><span style="color: #007700;">&#8211; </span><span style="color: #0000bb;">$water_w</span><span style="color: #007700;">) / </span><span style="color: #0000bb;">2</span><span style="color: #007700;">;<br />
</span><span style="color: #0000bb;">$posY </span><span style="color: #007700;">= </span><span style="color: #0000bb;">$old_h </span><span style="color: #007700;">&#8211; </span><span style="color: #0000bb;">$water_h</span><span style="color: #007700;">;<br />
break;<br />
case </span><span style="color: #0000bb;">9</span><span style="color: #007700;">:</span><span style="color: #ff8000;">//9为底端居右<br />
</span><span style="color: #0000bb;">$posX </span><span style="color: #007700;">= </span><span style="color: #0000bb;">$old_w </span><span style="color: #007700;">&#8211; </span><span style="color: #0000bb;">$water_w</span><span style="color: #007700;">;<br />
</span><span style="color: #0000bb;">$posY </span><span style="color: #007700;">= </span><span style="color: #0000bb;">$old_h </span><span style="color: #007700;">&#8211; </span><span style="color: #0000bb;">$water_h</span><span style="color: #007700;">;<br />
break;<br />
default: </span><span style="color: #ff8000;">//随机<br />
</span><span style="color: #0000bb;">$posX </span><span style="color: #007700;">= </span><span style="color: #0000bb;">rand</span><span style="color: #007700;">(</span><span style="color: #0000bb;">0</span><span style="color: #007700;">,(</span><span style="color: #0000bb;">$old_w </span><span style="color: #007700;">&#8211; </span><span style="color: #0000bb;">$water_w</span><span style="color: #007700;">));<br />
</span><span style="color: #0000bb;">$posY </span><span style="color: #007700;">= </span><span style="color: #0000bb;">rand</span><span style="color: #007700;">(</span><span style="color: #0000bb;">0</span><span style="color: #007700;">,(</span><span style="color: #0000bb;">$old_h </span><span style="color: #007700;">&#8211; </span><span style="color: #0000bb;">$water_h</span><span style="color: #007700;">));<br />
break;<br />
}<br />
</span><span style="color: #ff8000;">// 设定图像的混色模式<br />
</span><span style="color: #0000bb;">imagealphablending</span><span style="color: #007700;">(</span><span style="color: #0000bb;">$oldimg</span><span style="color: #007700;">, </span><span style="color: #0000bb;">true</span><span style="color: #007700;">);<br />
</span><span style="color: #ff8000;">// 添加水印<br />
</span><span style="color: #0000bb;">imagecopymerge</span><span style="color: #007700;">(</span><span style="color: #0000bb;">$oldimg</span><span style="color: #007700;">, </span><span style="color: #0000bb;">$waterimg</span><span style="color: #007700;">, </span><span style="color: #0000bb;">$posX</span><span style="color: #007700;">, </span><span style="color: #0000bb;">$posY</span><span style="color: #007700;">, </span><span style="color: #0000bb;">0</span><span style="color: #007700;">, </span><span style="color: #0000bb;">0</span><span style="color: #007700;">, </span><span style="color: #0000bb;">$water_w</span><span style="color: #007700;">,</span><span style="color: #0000bb;">$water_h</span><span style="color: #007700;">,</span><span style="color: #0000bb;">$pct</span><span style="color: #007700;">);<br />
</span><span style="color: #0000bb;">$fun </span><span style="color: #007700;">= </span><span style="color: #dd0000;">&#8216;image&#8217;</span><span style="color: #007700;">.</span><span style="color: #0000bb;">$type</span><span style="color: #007700;">;<br />
!@</span><span style="color: #0000bb;">$fun</span><span style="color: #007700;">(</span><span style="color: #0000bb;">$oldimg</span><span style="color: #007700;">, </span><span style="color: #0000bb;">$filename</span><span style="color: #007700;">) &amp;&amp;  die(</span><span style="color: #dd0000;">&#8216;保存失败!检查目录是否存在并且可写?&#8217;</span><span style="color: #007700;">);<br />
</span><span style="color: #0000bb;">imagedestroy</span><span style="color: #007700;">(</span><span style="color: #0000bb;">$oldimg</span><span style="color: #007700;">);<br />
</span><span style="color: #0000bb;">imagedestroy</span><span style="color: #007700;">(</span><span style="color: #0000bb;">$waterimg</span><span style="color: #007700;">);<br />
return </span><span style="color: #0000bb;">$filename</span><span style="color: #007700;">;<br />
}<br />
}<br />
</span><span style="color: #0000bb;">?&gt;</span></div>
<div>
<p><strong>函数描述及例子</strong></p>
<p><code><span style="color: #000000;"><span style="color: #0000bb;">&lt;?<br />
</span><span style="color: #ff8000;">//img类使用示例：<br />
// 原始图片<br />
//$img1 =  './image/test.jpg';<br />
// 水印后的图片<br />
//$img2 = './image/test_new.jpg';<br />
// 水印<br />
//$water = './image/water.gif';<br />
//$img = new image();<br />
// 等比缩放<br />
//$img-&gt;param($img1)-&gt;thumb('./image/test_0.jpg',  200,200,0);<br />
// center center 裁剪<br />
//$img-&gt;param($img1)-&gt;thumb('./image/test_1.jpg', 200,200,1);<br />
// top left 裁剪<br />
//$img-&gt;param($img1)-&gt;thumb('./image/test_2.jpg', 200,200,2);<br />
// 右下角添加水印<br />
//$img-&gt;param($img1)-&gt;water($img2,$water,9);<br />
</span><span style="color: #0000bb;">?&gt;</span> </span></code></p>
<p style="text-align: center; clear: both; padding-top: 20px;">
</div>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>PHP检测文件是否图片</title>
		<link>https://www.3code.cn/php-file_is_valid_image/</link>
		
		<dc:creator><![CDATA[寒林]]></dc:creator>
		<pubDate>Mon, 02 Nov 2009 05:57:09 +0000</pubDate>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[PHP图片]]></category>
		<guid isPermaLink="false">https://www.3code.cn/?p=95</guid>

					<description><![CDATA[检测文件是否图片，有时候我们会用到PHP的这个功能。]]></description>
										<content:encoded><![CDATA[<div>
<p><strong>检测文件是否图片</strong></p>
<p><code><span style="color: #000000;"><span style="color: #0000bb;">&lt;?<br />
</span><span style="color: #007700;">function </span><span style="color: #0000bb;">file_is_valid_image</span><span style="color: #007700;">(</span><span style="color: #0000bb;">$path</span><span style="color: #007700;">) {<br />
</span><span style="color: #0000bb;">$size </span><span style="color: #007700;">= @</span><span style="color: #0000bb;">getimagesize</span><span style="color: #007700;">(</span><span style="color: #0000bb;">$path</span><span style="color: #007700;">);<br />
return  !empty(</span><span style="color: #0000bb;">$size</span><span style="color: #007700;">);<br />
}</span></span></code></p>
<p><span style="color: #0000bb;">?&gt;</span></p>
<p style="text-align: center; clear: both; padding-top: 20px;">
</div>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
