PHP实现水印和缩略图效果

准备工作:图片2张、字体文件至少1份


1.PHP图片添加文字水印

PHP实现图片添加文字水印效果。

demo1.php:

<?php
/**
 * 1.打开图片
 */
// 配置打开图片的路径
$src = "demo1.jpg";
// 获取图片的信息
$info = getimagesize($src);
//echo "<pre>";
//print_r($info);
// 通过图片的编号来获取图片的类型(后缀)
$type = image_type_to_extension($info[2],false);
// 在内存中创建一个和该图像类型相同的图像
$fun = "imagecreatefrom{
      
      $type}";
// 将图片复制到内存中
$image = $fun($src);
/**
 * 2.操作图片
 */
// 设置字体的路径
$font = "simhei.ttf";
// 添加内容
$content = "生活就像海洋";
// 设置字体颜色及透明度
$col = imagecolorallocatealpha($image, 255, 255, 255, 30);
// 写入文字
// imagettftext ($image, $size, $angle, $x, $y, $color, $fontfile, $text)
imagettftext($image, 20, 0, 20, 30, $col, $font, $content);
/**
 * 3.输出图片
 */
// 浏览器输出
header("Content-type:".$info['mime']);
$fun = "image{
      
      $type}";
$fun($image);
// 保存图片
$func($image, 'FFF'.$type);
// 销毁图片
imagedestroy($image);
?>

效果截图:
在这里插入图片描述

2.PHP图片添加图片水印

PHP实现图片添加图片水印效果。

demo2.php:

<?php
/**
 * 1.打开图片
 */
// 配置路径
$src = "demo1.jpg";
// 获取图片的基本信息
$info = getimagesize($src);
// 通过图片的编号获取图片的类型
$type = image_type_to_extension($info[2], false);
// 在内存中创建一个和该图像类型一致的图像,根据图片类型设置,如imagecreatefromjpeg
$fun = "imagecreatefrom{
      
      $type}";
// 把要操作的图片复制到内存中
$image = $fun($src);
/**
 * 2.操作图片
 */
// 设置水印路径
$image_Mark = "4.jpg";
// 获得水印的基本信息
$info2 = getimagesize($image_Mark);
// 通过图片的编号获取图片的类型
$type2 = image_type_to_extension($info2[2], false);
// 在内存中创建一个和该图像类型一致的图像,根据图片类型设置,如imagecreatefromjpeg
$fun2 = "imagecreatefrom{
      
      $type2}";
// 把水印复制到内存
$water = $fun2($image_Mark);
// 合并图片
// imagecopymerge ($dst_im, $src_im, $dst_x, $dst_y, $src_x, $src_y, $src_w, $src_h, $pct)
imagecopymerge($image, $water, 60, 60, 0, 0, $info2[0], $info2[1], 60);
// 销毁水印图片
imagedestroy($water);
/**
 * 3.输出图片
 */
header("Content-type:".$info['mime']);
$funs = "image{
      
      $type}";
$funs($image);
/**
 * 销毁图片
 */
imagedestroy($image);
?>

效果截图:
在这里插入图片描述

3.PHP缩略图

PHP实现图片缩略图效果。

demo3.php:

<?php
/**
 * 1.打开图片
 */
// 设置路径
$src = "demo1.jpg";
// 获取图片信息
$info = getimagesize($src);
// 获取图片类型
$type = image_type_to_extension($info[2], false);
// 在内存中创建一个和该图像类型一致的图像,根据图片类型设置,如imagecreatefromjpeg
$fun = "imagecreatefrom{
      
      $type}";
// 把要操作的图片复制到内存中
$image = $fun($src);
/**
 * 2.操作图片
 */
// 在内存中建立一个宽300高200真彩色图片
$image_thumb = imagecreatetruecolor(300, 200);
// 将原图复制到新建的真彩色图片上,并按照一定的比例压缩
// imagecopyresampled ($dst_image, $src_image, $dst_x, $dst_y, $src_x, $src_y, $dst_w, $dst_h, $src_w, $src_h) {}
imagecopyresampled($image_thumb, $image, 0, 0, 0, 0,300, 200, $info[0], $info[1]);
// 销毁原始图片
imagedestroy($image);
/**
 * 3.输出图片
 */
header("Content-type:".$info['mime']);
$funs = "image{
      
      $type}";
$funs($image_thumb);
// 保存到本地硬盘
$funs($image_thumb,"image_thumb.".$type);
/**
 * 销毁图片
 */
imagedestroy($image_thumb);
?>

效果截图:
在这里插入图片描述


参考PHP中文网视频地址:

https://www.php.cn/course/185.html

猜你喜欢

转载自blog.csdn.net/username666/article/details/112909283