给图片添加水印(支持中文)并生成缩略图

缩略图|中文

<?

// **************************************** //
// 功能:给图片添加水印(支持中文)并生成缩略图
// 参数: $srcFile 图片文件名
// $dstFile 另存图片文件名
// $markwords 水印文字内容
// $markimage 水印图片地址
// $dstW 图片保存宽度
// $dstH 图片保存高度
// $rate 图片保存品质
// **************************************** //
function makethumb($srcFile,$dstFile,$dstW,$dstH,$rate=100,$markwords=null,$markimage=null)
{
$data = GetImageSize($srcFile);
switch($data[2])
{
case 1:
$im=@ImageCreateFromGIF($srcFile);
break;
case 2:
$im=@ImageCreateFromJPEG($srcFile);
break;
case 3:
$im=@ImageCreateFromPNG($srcFile);
break;
}
if(!$im) return False;
$srcW=ImageSX($im);
$srcH=ImageSY($im);
$dstX=0;
$dstY=0;
if ($srcW*$dstH>$srcH*$dstW)
{
$fdstH = round($srcH*$dstW/$srcW);
$dstY = floor(($dstH-$fdstH)/2);
$fdstW = $dstW;
}
else
{
$fdstW = round($srcW*$dstH/$srcH);
$dstX = floor(($dstW-$fdstW)/2);
$fdstH = $dstH;
}
$ni=ImageCreateTrueColor($dstW,$dstH);
$dstX=($dstX<0)?0:$dstX;
$dstY=($dstX<0)?0:$dstY;
$dstX=($dstX>($dstW/2))?floor($dstW/2):$dstX;
$dstY=($dstY>($dstH/2))?floor($dstH/s):$dstY;
$white = ImageColorAllocate($ni,255,255,255);
$black = ImageColorAllocate($ni,0,0,0);
imagefilledrectangle($ni,0,0,$dstW,$dstH,$white);// 填充背景色
ImageCopyResized($ni,$im,$dstX,$dstY,0,0,$fdstW,$fdstH,$srcW,$srcH);

// 生成水印
if($markwords!=null)
{
$markwords=iconv("gb2312","UTF-8",$markwords);
//转换文字编码
ImageTTFText($ni,9,0,10,15,$white,"simhei.ttf",$markwords);
//ImageTTFText(int im,int size,int angle,int x,int y,int col,string fontfile,string text):
//本函数将 TTF (TrueType Fonts) 字型文字写入图片。
//参数: size 为字形的尺寸;
// angle 为字型的角度,顺时针计算,0 度为水平(由左到右),90 度则为由下到上的文字;
// x,y 二参数为文字的坐标值 (原点为左上角);
// col 为字的颜色;
// fontfile 为字型文件名称;
// text 是字符串内容。
}
elseif($markimage!=null)
{
$wimage_data = GetImageSize($markimage);
switch($wimage_data[2])
{
case 1:
$wimage=@ImageCreateFromGIF($markimage);
break;
case 2:
$wimage=@ImageCreateFromJPEG($markimage);
break;
case 3:
$wimage=@ImageCreateFromPNG($markimage);
break;
}
imagecopy($ni,$wimage,0,0,0,0,88,31);
imagedestroy($wimage);
}

ImageJpeg($ni,$dstFile,$rate);
imagedestroy($im);
imagedestroy($ni);
//结束图形,释放内存空间
}
?>

 

时间: 2024-11-10 01:02:35

给图片添加水印(支持中文)并生成缩略图的相关文章

ASP保存远程图片到本地,并生成缩略图

ASP通过XMLHTTP获取远程图片流数据,并保存到本地,把第一张采集到的图片生成缩略图. 具体代码如下: <% '================================================== '函数名:CheckDir2 '作 用:检查文件夹是否存在 '参 数:FolderPath ------文件夹地址 '================================================== Function CheckDir2(byval Folder

PHP 使用 Imagick 裁切/生成缩略图/添加水印自动检测和处理 GIF_php实例

给骨头系统开发的图像库的 imagick 部分 ,支持 gif , 完美支持裁切.生成缩略图.添加水印 . 支持按方位生成缩略图像, 如: // 把左上角优先 $image->resize_to(100, 100, 'north_west'); // 右边优先 $image->resize_to(100, 100, 'east'); ... 更多参数看源代码 原图 效果图: 调用方式: include 'imagick.class.php'; $image = new lib_image_im

asp图片上传后用aspjpeg自动生成缩略图

 Aspjpeg 功能设置 Set Jpeg = Server.CreateObject("Persits.Jpeg") ' 获取源图片路径 Path = Server.MapPath("uploadimages/")&"/"&FileName ' 打开源图片 Jpeg.Open Path ' 设定生成缩略图细节 这里有很多种设定方法 下面的方法是先判断宽高比 然后按比例缩放 If Jpeg.OriginalWidth / Jpe

如何实现将用户上传的文件生成缩略图!

上传|缩略图 具体给个例子就清楚啦..如下:System.Web.HttpPostedFile UpFile = UpMhtFile.PostedFile; System.IO.Stream StreamObject = UpFile.InputStream; System.IO.FileStream myStream = new System.IO.FileStream(UpFile.FileName,System.IO.FileMode.Open,System.IO.FileAccess.R

将用户上传的文件生成缩略图的方法

具体给个例子就清楚啦.. 如下:   System.Web.HttpPostedFile UpFile = UpMhtFile.PostedFile; System.IO.Stream StreamObject = UpFile.InputStream; System.IO.FileStream myStream = new System.IO.FileStream(UpFile.FileName,System.IO.FileMode.Open,System.IO.FileAccess.Read

asp.net 生成缩略图代码_实用技巧

复制代码 代码如下: using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; usi

超简单php 大图生成缩略图实现代码

超简单php教程 大图生成缩略图实现代码   <?php /** * 生成缩略图 * * @param string $imagepath 图片路径 * @param string $thumb 生成缩略图名称 * @param integer $width 生成缩略图最大宽度 * @param integer $height 生成缩略图最大高度 * */ function resizeimage($imagepath, $thumb, $width = 200, $height = 200)

C#图片压缩、生成缩略图、添加水印模块

  C#图片处理工具类,可以压缩JPG图像,图片自动生成缩略图,为图片添加水印效果等,返回高清缩略图,得到最佳的图片比例缩放尺寸,并获取图片类型等,类代码如下: view sourceprint?001using System; 002using System.Collections.Generic; 003using System.Linq; 004using System.Text; 005using System.IO; 006using System.Drawing; 007using

支持png透明图片的php生成缩略图类分享

 这篇文章主要介绍了支持png透明图片的php生成缩略图类分享,本文代码基于GD2图形库,实现支持png透明图片生成缩略图,需要的朋友可以参考下     注:此功能依赖GD2图形库 最近要用php生成缩略图,在网上找了一下,发现了这篇文章:PHP生成图片缩略图 试用了一下后,发现有这样几个问题: 1.png图片生成的缩略图是jpg格式的 2.png图片生成的缩略图没有了透明(半透明)效果(填充了黑色背景) 3.代码语法比较老 因此,在这个版本的基础上简单修改优化了一下. PHP生成缩略图类 ?