PHP 图片水印 按照比例缩放放大

2024-06-04 18:48

本文主要是介绍PHP 图片水印 按照比例缩放放大,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

内容很简单,可以二次封装成类

加上判断即可配置成生产环境,贴出来只是为了方便新手学习,更加清楚流程

无论多大的图片多小的图片,水印大小都会随着图片变化而变化

<?php
//1.配置路径
$img_src  = "a.jpg"; //待加水印
$logo_src = "logo.gif"; //水印图片
$path = 'img';//保存位置//2.建立图像
$info_img  = getimagesize($img_src);
$info_logo = getimagesize($logo_src);
$type_img  = image_type_to_extension($info_img[2], false);
$type_logo = image_type_to_extension($info_logo[2], false);//3.获取图片宽搞
list($img_width, $img_height)   = $info_img;
list($logo_width, $logo_height) = $info_logo;//4.内存建立图片
$fun_img  = "imagecreatefrom{$type_img}";
$fun_logo = "imagecreatefrom{$type_logo}";//5.把要操作的图片复制到内存中
$RAM_img  = $fun_img($img_src);
$RAM_logo = $fun_logo($logo_src);//6.比例算法
$b = ($img_width*$logo_width)/3333/$logo_width;//7.按比例缩放
$nw = $logo_width*$b;
$nh = $logo_height*$b;
$new_logo = imagecreatetruecolor($nw,$nh);
$color=imagecolorallocate($new_logo,99,99,99); 
imagecolortransparent($new_logo,$color); 
imagefill($new_logo,0,0,$color); 
imagecopyresized($new_logo, $RAM_logo,0, 0,0, 0,$nw, $nh, $logo_width, $logo_height );//8.设置水平位置
$dis_x = $img_width/2 - $nw/2;
$dis_y = $img_height/2 - $nh/2;//9.图片水印合并(上传图片,水印,位置,水印宽,水印高,透明度0~100) — 拷贝并合并图像的一部分
imagecopymerge($RAM_img, $new_logo, $dis_x, $dis_y, 0, 0, $nw, $nh, 80);//10.在浏览器中输出图片
header("Content-Type:".$info_img['mime']);
$out_fun="image{$type_img}";
$out_fun($RAM_img);//11.保存图片
$out_fun($RAM_img,$img_src);//12.销毁水印内存
imagedestroy($RAM_logo);
imagedestroy($RAM_img);

 

这篇关于PHP 图片水印 按照比例缩放放大的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1030829

相关文章

使用opencv优化图片(画面变清晰)

文章目录 需求影响照片清晰度的因素 实现降噪测试代码 锐化空间锐化Unsharp Masking频率域锐化对比测试 对比度增强常用算法对比测试 需求 对图像进行优化,使其看起来更清晰,同时保持尺寸不变,通常涉及到图像处理技术如锐化、降噪、对比度增强等 影响照片清晰度的因素 影响照片清晰度的因素有很多,主要可以从以下几个方面来分析 1. 拍摄设备 相机传感器:相机传

Android 10.0 mtk平板camera2横屏预览旋转90度横屏拍照图片旋转90度功能实现

1.前言 在10.0的系统rom定制化开发中,在进行一些平板等默认横屏的设备开发的过程中,需要在进入camera2的 时候,默认预览图像也是需要横屏显示的,在上一篇已经实现了横屏预览功能,然后发现横屏预览后,拍照保存的图片 依然是竖屏的,所以说同样需要将图片也保存为横屏图标了,所以就需要看下mtk的camera2的相关横屏保存图片功能, 如何实现实现横屏保存图片功能 如图所示: 2.mtk

Spring MVC 图片上传

引入需要的包 <dependency><groupId>commons-logging</groupId><artifactId>commons-logging</artifactId><version>1.1</version></dependency><dependency><groupId>commons-io</groupId><artifactId>commons-

Prompt - 将图片的表格转换成Markdown

Prompt - 将图片的表格转换成Markdown 0. 引言1. 提示词2. 原始版本 0. 引言 最近尝试将图片中的表格转换成Markdown格式,需要不断条件和优化提示词。记录一下调整好的提示词,以后在继续优化迭代。 1. 提示词 英文版本: You are an AI assistant tasked with extracting the content of

研究人员在RSA大会上演示利用恶意JPEG图片入侵企业内网

安全研究人员Marcus Murray在正在旧金山举行的RSA大会上公布了一种利用恶意JPEG图片入侵企业网络内部Windows服务器的新方法。  攻击流程及漏洞分析 最近,安全专家兼渗透测试员Marcus Murray发现了一种利用恶意JPEG图片来攻击Windows服务器的新方法,利用该方法还可以在目标网络中进行特权提升。几天前,在旧金山举行的RSA大会上,该Marcus现场展示了攻击流程,

恶意PNG:隐藏在图片中的“恶魔”

&lt;img src=&quot;https://i-blog.csdnimg.cn/blog_migrate/bffb187dc3546c6c5c6b8aa18b34b962.jpeg&quot; title=&quot;214201hhuuhubsuyuukbfy_meitu_1_meitu_2.jpg&quot;/&gt;&lt;/strong&gt;&lt;/span&gt;&lt;

PHP原理之内存管理中难懂的几个点

PHP的内存管理, 分为俩大部分, 第一部分是PHP自身的内存管理, 这部分主要的内容就是引用计数, 写时复制, 等等面向应用的层面的管理. 而第二部分就是今天我要介绍的, zend_alloc中描写的关于PHP自身的内存管理, 包括它是如何管理可用内存, 如何分配内存等. 另外, 为什么要写这个呢, 因为之前并没有任何资料来介绍PHP内存管理中使用的策略, 数据结构, 或者算法. 而在我们

php中json_decode()和json_encode()

1.json_decode() json_decode (PHP 5 >= 5.2.0, PECL json >= 1.2.0) json_decode — 对 JSON 格式的字符串进行编码 说明 mixed json_decode ( string $json [, bool $assoc ] ) 接受一个 JSON 格式的字符串并且把它转换为 PHP 变量 参数 json

如何将文件夹里的PHP代码放到一个文件里

find ./dir -name "*.php" -exec 'cat' {} \; > dir.out

PHP抓取网站图片脚本

方法一: <?phpheader("Content-type:image/jpeg"); class download_image{function read_url($str) { $file=fopen($str,"r");$result = ''; while(!feof($file)) { $result.=fgets($file,9999); } fclose($file); re