<?php
//图像添加水印函数
/**
*为一张图片添加上一个logo水印(以保存新图片的方式实现)
*@param string $picname 被缩放的处理图片源
*@param int $logo 水印图片
*@param string $pre 缩放后图片的前缀名
*@return $string 返回后的图片名称() 如a.jpg->n.jpg
*
**/
function imageUpdateLogo($picname,$logo,$pre="n_"){
$picnameinfo=getimageSize($picname);//获取图片源的基本信息
$logoinfo=getimageSize($logo);//获取logo图片源的基本信息 //根据图片类型创建出对应的图片源
switch($picnameinfo[2]){
case 1://gif
$im=imagecreatefromgif($picname);
break;
case 2://jpg
$im=imagecreatefromjpeg($picname);
break;
case 3://png
$im=imagecreatefrompng($picname);
break;
default:
die("图像类型错误");
} //根据logo图片类型创建对应的图片源
switch($logoinfo[2]){
case 1://gif
$logoim=imagecreatefromgif($logo);
break;
case 2://jpg
$logoim=imagecreatefromjpeg($logo);
break;
case 3://png
$logoim=imagecreatefrompng($logo);
break;
default:
die("图像类型错误");
}
//执行图片水印处理
imagecopyresampled($im,$logoim,$picnaeinfo[0]=$logoinfo[0],$picnaeinfo[1]=$logoinfo[1],0,0,$logoinfo[0],$logoinfo[1],$logoinfo[0],$logoinfo[1]);
//输出图像(根据源图像的类型,输出为对应的类型)
$picinfo=pathinfo($picname);//解析源图像的名字和路径信息
$newpicname=$picinfo["dirname"]."/".$pre.$picinfo["basename"];
switch($picnameinfo[2]){
case 1:
imagegif($im,$newpicname);
break;
case 2:
imagejpeg($im,$newpicname);
break;
case 3:
imagepng($im,$newpicname);
break;
}
//释放图片资源
imagedestroy($im);
imagedestroy($logoim);
//返回结果
return $newpicname;
}
// 测试成功
echo imageUpdateLogo("images/8.14.jpg","images/bg_00.jpg"); // 返回的结果为 images/n_8.14.jpg
?>

图像添加logo水印函数的更多相关文章

  1. PHP图片等比缩放,并添加Logo水印特定代码和盯

    <? php //PHP图片等比缩放,并添加Logo水印 --->百度 "美日汇" /** * 等比缩放函数(以保存的方式实现) * @param string $pi ...

  2. 给图像添加logo

    #include <opencv2\opencv.hpp>#include"ProcessPixels.h"using namespace cv;using names ...

  3. javacpp-opencv图像处理之2:实时视频添加图片水印,实现不同大小图片叠加,图像透明度控制,文字和图片双水印

    欢迎大家积极开心的加入讨论群 群号:371249677 (点击这里进群) javaCV图像处理系列: javaCV图像处理之1:实时视频添加文字水印并截取视频图像保存成图片,实现文字水印的字体.位置. ...

  4. php基础之gd图像生成、缩放、logo水印和简单验证码实现

    gd库是php最常用的图片处理库之一(另外一个是imagemagick),可以生成图片.验证码.水印.缩略图等等.要使用gd库首先需要开启gd库扩展,windows系统下需要在php.ini中将ext ...

  5. javacpp-opencv图像处理之1:实时视频添加文字水印并截取视频图像保存成图片,实现文字水印的字体、位置、大小、粗度、翻转、平滑等操作

    欢迎大家积极开心的加入讨论群 群号:371249677 (点击这里进群) javaCV图像处理系列: javaCV图像处理之1:实时视频添加文字水印并截取视频图像保存成图片,实现文字水印的字体.位置. ...

  6. 给pdf文件添加防伪水印logo(附工程源码下载)

    pdf添加水印logo这种需求场景确实很少,有些时候一些销售单据生成pdf添加一个水印logo,做一个简单的防伪效果,虽然实际上并没有太大作用,但是产品经理说要,巴拉巴拉--省略一万字. 下面将源码分 ...

  7. 【PHP】使用GD库实现 图像生成、缩放、logo水印和简单验证码

    gd库是php最常用的图片处理库之一(另外一个是imagemagick),可以生成图片.验证码.水印.缩略图等等.要使用gd库首先需要开启gd库扩展, windows系统下需要在php.ini中将ex ...

  8. php基础 gd图像生成、缩放、logo水印和验证码

    gd库是php最常用的图片处理库之一(另外一个是imagemagick),可以生成图片.验证码.水印.缩略图等等. 图像生成 <?php /* 用windows画图板画图 1.新建空白画布(指定 ...

  9. 图片的等比缩放和Logo水印

    /** * 等比缩放函数(以保存的方式实现) * @param string $picname 被缩放的处理图片源 * @param int $maxx 缩放后图片的最大宽度 * @param int ...

随机推荐

  1. postgresql数据库中对重复数据的处理

    我们在使用postgresql数据库的时候,如果一张数据表在未做任何约束的情况下,很可能会出现几条完全一样的数据,即重复数据.如下图所示: 那么如果我们要删除其中的2条该怎么办呢?第一种我们可以清空表 ...

  2. Windows Phone WebClient的使用

    webClient对象可用来下载XML文件,程序集等这些数据,其可以实现按需下载,所以还是有必要了解的.其主要包含几个事件:                                       ...

  3. Hibernate--快速上手

    一.初识 Hibernate 经典的软件应用体系结构有三层:表示层(提供了与用户交互的接口,实现用户操作界面,展示用户需要的数据).业务逻辑层(完成业务流程,处理表示层提交的数据请求,并将要保存的数据 ...

  4. Python 之定时器

    #引入库 threading import threading #定义函数 def fun_timer(): print('hello timer')   #打印输出 global timer  #定 ...

  5. Maven 的聚合(多模块)和 Parent 继承

    2017年06月26日 21:16:57 Maven 的聚合(多模块)和 Parent 继承 - 偶尔记一下 - CSDN博客 https://blog.csdn.net/isea533/articl ...

  6. 升级mac xcode打包证书报错 git 报错

    reset tryAgain git 在钥匙串中找不到指定的项  重新配置公钥撕咬 SSH keys An SSH key allows you to establish a secure conne ...

  7. Python开发【Django】:Model操作(二)

    Model操作 1.操作汇总: # 增 # # models.Tb1.objects.create(c1='xx', c2='oo') 增加一条数据,可以接受字典类型数据 **kwargs # obj ...

  8. Most efficient way to get the last element of a stream

    Do a reduction that simply returns the current value: Stream<T> stream; T last = stream.reduce ...

  9. HDFS中的读写数据流

    1.文件的读取 在客户端执行读取操作时,客户端和HDFS交互过程以及NameNode和各DataNode之间的数据流是怎样的?下面将围绕图1进行具体讲解. 图 1 客户端从HDFS中读取数据 1)客户 ...

  10. Java打包可执行jar包 包含外部文件

    外部文件在程序中设置成相对当前工程路径,执行jar包时,将外部文件放在和jar包平级的目录. public class Main { 3 public static void main(String[ ...