php版图片加边框和水印 - 疯子的紫梦's 学习窝
php 生成扭曲,有角度的验证码
php版圆形印章生成器

php版图片加边框和水印

疯子的紫梦 posted @ 2009年11月29日 06:18 in php , 2593 阅读

 

<form action=read.php method=post>
图片缩小为:<select name=picsize><option value=0.25>25%</option><option value=0.5 selected>50%</option></select><br>
边框外线:<select name=outbordercolor><option value=0>none</option><option value=white selected>white</option><option value=black>black</option><option value=gray>gray</option></select>
边框颜色:<select name=bordercolor><option value=white>white</option><option value=black selected>black</option><option value=gray>gray</option></select>
边框宽度:<select name=bordersize><option value=1>1</option><option value=2>2</option><option value=3>3</option><option value=4>4</option><option value=5>5</option><option value=6 selected>6</option></select>
边框内线:<select name=inbordercolor><option value=0>none</option><option value=white selected>white</option><option value=black>black</option><option value=gray>gray</option></select><br>
签名颜色:<select name=inkcolor><option value=white>white</option><option value=black>black</option><option value=gray>gray</option></select>
签名内容:<input type=text name=ink><br>
<input type=submit value=开始转换>
</form>

read.php
<?php     

$picsize=$_POST["picsize"];
$bordercolor=$_POST["bordercolor"];
$inbordercolor=$_POST["inbordercolor"];
$outbordercolor=$_POST["outbordercolor"];
$bordersize=$_POST["bordersize"];
$inkcolor=$_POST["inkcolor"];
$ink=$_POST["ink"];

if($handle = opendir('./img')) {     

while (false !== ($file = readdir($handle))) {     

if(strpos($file,".jpg")!==false||strpos($file,".JPG")!==false)
{
$image = imagecreatefromjpeg('./img/'.$file);
$width = ImageSx($image);
$height = ImageSy($image);
$x = floor($width*$picsize); 
$y = floor($height*$picsize);

$dst = ImageCreateTrueColor($x,$y);

Imagecopyresampled($dst,$image,0,0,0,0,$x,$y,$width,$height);

$white = ImageColorAllocate($dst,0xFF,0xFF,0xFF);
$black = ImageColorAllocate($dst,0x00,0x00,0x00);
$gray = ImageColorAllocate($dst,0x88,0x88,0x88);

$j=0;
if($outbordercolor!="0")
ImageRectangle($dst,$j,$j,$x-$j-1,$y-$j++-1,$$outbordercolor); 

for($i=0;$i<$bordersize+$j;$i++)
ImageRectangle($dst,$i+$j,$i+$j,$x-$i-$j-1,$y-$i-$j-1,$$bordercolor);   

if($inbordercolor!="0")
ImageRectangle($dst,$i+$j,$i+$j,$x-$i-$j-1,$y-$i-$j-1,$$inbordercolor);

ImageTTFText($dst,20,0,$x-strlen($ink)*10-10,$y-30,$$inkcolor,'Mistral',$ink);

imagejpeg($dst,'./img2/'.$file);

echo "$file"."已转换<br>";     

}

}     

closedir($handle);     

}     
?>


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter