首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >PHP imagecopy函数根据主图像的高度和宽度更改图章大小

PHP imagecopy函数根据主图像的高度和宽度更改图章大小
EN

Stack Overflow用户
提问于 2018-10-25 21:47:21
回答 1查看 739关注 0票数 0

我正在尝试添加一个水印(徽标)到每个上传到网站的图像。

所以,我使用imagecopy PHP函数在主图像( jpg图像)上添加了一个水印( png图像),但问题是logo的大小是根据主图像的大小(高度和宽度)而变化的,这意味着如果我上传一张4000x2000的图像,logo的大小大概是100x100,如果主图像的大小是1000x500,那么图章就会比真实的大小(546x537)大。

图片示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
https://crkemlak.com/appimg/199f8486d7d77007771f2f450dffca4d.jpeg
https://crkemlak.com/appimg/d6f9fd02999eced76eac9a6995df904f.jpeg
https://crkemlak.com/img/stamp.png

我使用以下代码将水印添加到图像中:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$im = imagecreatefromjpeg('../appimg/'.$filenamerand);

$originalWidth= imagesx($im);
$originalHeight = imagesy($im);

$stamp = imagecreatefrompng('../img/stamp.png');
$marge_right = 10;
$marge_bottom = 10;
$sx = imagesx($stamp);
$sy = imagesy($stamp);
imagecopy($im, $stamp, ($originalWidth-$sx)/2, ($originalHeight-$sy)/2, 0, 0, imagesx($stamp), imagesy($stamp));

我需要你的帮助来解决这个问题,我需要使水印是在它的实际大小在任何大小的主要jpg图像

谢谢

EN

回答 1

Stack Overflow用户

发布于 2019-09-03 07:51:00

我使用了imagecopyresized,这样水印就可以缩放到在任何输入图像上看起来都是一样的,而不管它的大小。可能有更好的方法去做。我不确定当缩放具有透明背景的图像时质量有多好。这是在git

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$watermark = imagecreatefrompng('watermark.png');
$image = imagecreatefromjpeg('main-image.jpg');

$wm_x = imagesx($watermark);
$wm_y = imagesy($watermark);
$img_x = imagesx($image);
$img_y = imagesy($image);

// calculate watermark size
$wm_scale = 19; // set size in relation to image
$wm_w = $img_x/$wm_scale;
$wm_aspect = $wm_y/$wm_x;
$wm_h = (int) ($wm_aspect * $wm_w);

// calculate margin
$margin_scale = 6; // set margin in relation to new watermark size
$margin_right = $wm_w/$margin_scale;
$margin_bottom = $wm_h/$margin_scale;

// calculate watermark destination
$dst_x = $img_x - $wm_w - $margin_right;
$dst_y = $img_y - $wm_h - $margin_bottom;

imagecopyresized ($image, $watermark, $dst_x, $dst_y, 0, 0, $wm_w, $wm_h, $wm_x, $wm_y);

// Output and free memory
header('Content-type: image/png');
imagepng($image);
imagedestroy($image);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52998567

复制
相关文章
了解图形数据库_图形数据库neo4j
您在Google上获得的图表数据库的描述主要是学术性的。我看到很多关于图形数据库的描述,它们讨论了Königsberg的七座桥梁或互联网的发明者Berners-Lee。有理论和愿景很好,但对我来说,我仍然认为引导相关性很重要。为什么图形数据库对您很重要?
全栈程序员站长
2022/11/16
8390
Neo4j使用Cypher查询图形数据
原文出处:http://www.yund.tech/zdetail.html?type=1&id=e5a7ca6d4e801e88790cc85b94e1f405 作者:jstarseven  Neo
大道七哥
2019/08/23
2.7K0
Neo4j使用Cypher查询图形数据
图形数据库Neo4j基本了解
原文出处:http://www.yund.tech/zdetail.html?type=1&id=f519df57f29b22863d2a6a79326bd22b 作者:jstarseven  在深入
大道七哥
2019/08/23
3K0
图形数据库Neo4j基本了解
图形数据库neo4j——(2)Cypher
基本语法 image.png 以上图片来源,非常感谢俞方桦博士提供的介绍Neo4j的资源 image.png 以上图片来源,非常感谢俞方桦博士提供的介绍Neo4j的资源 image.png
羊羽shine
2019/05/29
7650
图形数据库之Neo4j学习(一)
最近工作需要使用图形数据库来构建知识图谱,目前基于Java使用最广泛的有两个开源框架 (1) neo4j 社区版 免费 企业版 收费 (2) Titan 全开源 我们此次选择了neo4j的社区版,主要是项目紧,neo4j比较稳定,Titan可能比较新,虽然Titan肯定是未来的主流,我个人是看好Titan的,Neo4j没法存储巨大的一张关系图 ,因为他不支持分片,而Titan是天生分布式的,可以构建在Hbase,Cassandra之上外加+ES或者Solr存储索引,非常强大,再此不在过多 对比两个图形数据库
我是攻城师
2018/05/14
1.2K0
Neo4j中的图形算法:15种不同的图形算法及其功能
只有你拥有使用图形分析的技巧,并且图形分析能快速提供你需要的见解时,它才具有价值。因而最好的图形算法易于使用,快速执行,并且产生有权威的结果。
杜逸先
2018/06/04
12.9K0
Neo4j中的图形算法:15种不同的图形算法及其功能
图形数据库neo4j——(3)movie演示
演员的饰演关系ACTED_IN 其中包括角色名称属性,导演关系DIRECTED 制片关系PRODUCED 编剧 WROTE
羊羽shine
2019/05/29
5790
Windows安装Neo4j NoSQL图形数据库
Neo4j是一个高性能的,NOSQL图形数据库,它将结构化数据存储在网络上而不是表中。它是一个嵌入式的、基于磁盘的、具备完全的事务特性的Java持久化引擎,但是它将结构化数据存储在网络(从数学角度叫做图)上而不是表中。Neo4j也可以被看作是一个高性能的图引擎,该引擎具有成熟数据库的所有特性。程序员工作在一个面向对象的、灵活的网络结构下而不是严格、静态的表中——但是他们可以享受到具备完全的事务特性、企业级的数据库的所有好处。
Petrochor
2022/06/07
5580
Windows安装Neo4j NoSQL图形数据库
图形数据库neo4j——(1)基础概要
节点可以想象成图中的对象,节点包含属性,属性可以是任何键值对的形式存储,节点可以有一个或多个标签,也可以没有标签,标签把节点组织在一起。
羊羽shine
2019/05/29
7670
Neo4J:图形设置
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
程裕强
2019/10/22
4150
Neo4J:图形设置
图形数据库之Neo4j核心概念介绍(二)
最近这段时间一直在搞知识图谱的一个项目,有点忙,所以博客更新有点慢,现在第一阶段的开发基本完活,后面有空会总结几篇与neo4j有关的文章。 有关neo4j的介绍和使用场景,这里不多说了,不了解的朋友可以参考我之前的文章 http://qindongliang.iteye.com/blog/2327919 我们的使用场景是用来存知识图谱有关的数据简单说就是会把从小学到高中所有的科目的里面的知识点给存储起来,让后建立知识点与知识点之间的依赖关系,从而最终会形成一张复杂的知识网络。举个例子: 比如某个学生,要学习
我是攻城师
2018/05/14
1.8K0
Neo4j-0.图形数据库和Neo4j
如果需要存放有很多链接的数据库,RDBMS不能提供用于遍历大量数据的性能。Graph Database提供了这种需要的性能。
悠扬前奏
2019/11/29
5470
如何清除右键菜单里的图形属性图形选项
2.保存文件。名字改为abc.cmd然后运行该文件就行了、出现提示点击确定。看看图标一点要变成这样。然后双击运行。就行了。
Lcry
2022/11/29
7980
Qt图形库-QCustomPlot
在出现的文件对话框中,选择qcustomplot.h和qcustomplot.cpp文件,将它们添加到您的项目中。 完成后,您的项目结构和.pro文件应如下所示:
ccf19881030
2021/04/19
2.4K0
Qt图形库-QCustomPlot
【C语言库文件】如何配置图形库
今天要教大家配置一个头文件,graphics.h ,这个头文件的作用是可以使用我们的编程软件来作图,我先来给大家展示一下可以使用代码做成的各种图形。
程序员周同学
2019/07/23
2.1K0
【C语言库文件】如何配置图形库
Django Ajax 实现历史图形查询
Django 通过Ajax接口实现前后端数据交互功能,通过Ajax实现当用户输入要查询的数据时,发送到后端,后端处理后推送到前端,前端直接绘制图形。
微软技术分享
2022/12/28
1K0
Django Ajax 实现历史图形查询
MATLAB中的图形绘制
MATLAB的图形通常都是通过描点、连线的方式来实现的。通过提供关键位置的点坐标及点与点之间的具体链接方式实现图形绘制。
技术客
2022/04/21
2.1K0
MATLAB中的图形绘制
数据库常见的图形工具有哪些?
疑惑一 MySQL常用的图形化管理工具有哪些? 现在随着PHP+MySql越来越火,周边相关产品也受到众多人的关注。在PC上修改数据库,查看数据库内容是研发人员常用的操作。下面就介绍几种常用的MySq
程序员互动联盟
2018/03/16
2.6K0
数据库常见的图形工具有哪些?
OpenCV中的图形绘制
OpenCV在Core模块中支持多种图形绘制与填充,方便开发者在图像对象识别与检测之后通过特定的图形轮廓加以显式表示。常见的几何形状包括线、矩形、圆形、椭圆,此外还支持文字显示。下面就让我们从API方
OpenCV学堂
2018/04/04
1.8K0
OpenCV中的图形绘制
Html中图形的变换
在网页的布局中,往往会涉及到一些动画效 果的设置,而这些动画的效果通常会有图形的变换。
算法与编程之美
2022/02/17
1.3K0

相似问题

如何在shell脚本启动的程序中打开URL?

11

Shell脚本- URL操作

14

在浏览器中打开url,从android上的shell脚本打开

10

打开URL并返回shell

22

解析shell脚本中的URL

160
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文