PHP/GD - 透明背景

2024-01-11

我想结合 GD 在 PHP 中执行以下操作。不幸的是,ImageMagick 不是一个选项,但这似乎是一个常见问题,因此has作为一个解决方案,我似乎找不到它。

我想创建一个具有透明背景的PNG。然后我想在上面画一个矩形,在上面复制一个图像,并添加一些文本。一种方法如下:

$image = ImageCreateTrueColor (800, 600);
imagecolortransparent ($image, 0); //0 is pure black, the default fill color
imagerectangle (...);
//code to copy an image
imagettftext ($image, ...);
imagepng ($image);

这工作得很好,除了复制的图像的一部分可能是黑色的,和/或文本可能是黑色的。然后这也变得透明,这是我的don't want.

imagefill ($image, 0,0, 0x7FFF0000);
imagetransparent ($image, 0x7FFF0000);

上面的代码是我在网上找到的,将其填充为红色,然后使红色透明。同样,这会导致图像中的所有红色变得透明。我可以选择一种不太可能出现的颜色,但我不能保证这一点。

我有什么遗漏的吗?这可以解决吗? 感谢您的回复!


imagecolortransparent如果您要合并图像,则可能不是您想要的,因为单色透明度很糟糕。

相反,尝试使用透明填充蒙版,如下所示:

<?php
$image = imagecreatetruecolor(100, 100);

// Transparent Background
imagealphablending($image, false);
$transparency = imagecolorallocatealpha($image, 0, 0, 0, 127);
imagefill($image, 0, 0, $transparency);
imagesavealpha($image, true);

// Drawing over
$black = imagecolorallocate($image, 0, 0, 0);
imagefilledrectangle($image, 25, 25, 75, 75, $black);

header('Content-Type: image/png');
imagepng($image);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PHP/GD - 透明背景 的相关文章

  • $.load 内的表单未正确发布

    这就是我得到的 基本上单击一个按钮并执行以下代码 Readthis MonsterRequest php id Mon TestVar TestVar replace s g Readthis Readthis htmlencode Tes
  • 不带 GROUP BY 的聚合查询

    这个查询似乎在我的旧机器上完美运行 但是 在我的 MySQL 5 7 14 和 PHP 5 6 25 的新机器上 它会抛出错误 致命错误 未捕获异常 PDOException 并带有消息 SQLSTATE 42000 语法错误或访问冲突 1
  • 正则表达式将从文本文件中提取句子

    我需要一个正则表达式来从文本文件中提取句子 示例文本 以 2004 年底发生的亚洲海啸灾难为例 对 Google 新闻 http news google com 的查询在一个月内 1 月 17 日 返回了超过 80 000 篇有关该事件的在
  • PHP设置全局环境变量的方法

    我已阅读问题 答案here https stackoverflow com questions 13568191 how to get system environment variables into php while running
  • Stripe 支付网关使用 PayumBundle 创建定期付款

    我在用支付包 https github com Payum PayumBundle将 Stripe 支付网关集成到我的 symfony2 应用程序中 我可以创建成功的直接付款 但无法创建定期付款 因为捆绑包的文档非常差 我的问题是如何使用
  • 如何在codeigniter中插入具有多个单选名称的单选按钮值?

    我正在尝试使用 codeigniter 进行在线测验 其中有一个针对某些主题的动态测验 用户可以在每个问题中添加问题和多项选择答案 我如何获得每个问题的每个多项选择答案中每个答案的值 p p
  • PHP 数组到 JavaScript 数组

    假设我在 php 中有这个数组 cities array Caracas gt array air gt array 4 3 5 Working Days Saturday sea gt array 18 3 5 Days Wednesda
  • Laravel 验证规则仅针对字母

    我正在尝试添加验证规则以仅接受信件 我正在使用regex规则 但它仍然不起作用 下面是我的代码 Validate request input this gt validate request name gt required regex p
  • Laravel nova diffForHumans 日期时间

    我对用户有字段last active 我想用 diffForHumans 或显示时间time from now来自 Moment js 我怎样才能做到呢 现在我只使用 DateTime make Activiy last active gt
  • 如何将 WordPress 类别选择限制为只有一个?

    我有一个自定义帖子类型和一个自定义分类设置 非常标准的东西 但是 我想知道如何限制我的客户在每个帖子中选择多个分类类别 我不介意他们能够创建和删除分类类型 但我不希望他们选择多个分类类型 因为这些是复选框 所以它们可以 也许单选按钮可以工作
  • 在 WooCommerce 管理订单项目上显示产品自定义字段(也适用于可变产品)

    基于在 WooCommerce 的订单编辑页面上显示自定义字段 https stackoverflow com questions 56259910 show custom fields on the order editing page
  • 获取特定月份/年份的第一天

    有没有比以下更好的方法返回特定月份 年份的第一天的日期 month date m year date Y from date Y m d mktime 0 0 0 month 1 year 这在计算上并不完全优雅 但我喜欢它 因为它非常可读
  • 在 php、ajax 或 javascript 中加载进度?

    任何人都知道如何在系统仍在服务器端获取数据的同时在客户端显示加载进度以及完成的百分比 例如 当我在客户端按下 确定 按钮时 它会调用服务器端从数据库收集数据 整个过程可能需要2到3分钟 如何在客户端显示加载进度 大约加载完成了多少 我怎样才
  • 为什么将 Ubuntu 升级到 22.04 后 phpMyAdmin 停止工作?

    刚刚升级到 Ubuntu 22 04 现在我的 phpmyadmin 无法加载 我收到以下错误 解析错误 语法错误 usr share php Symfony Component DependencyInjection ContainerB
  • 自动生成PHP代码的策略?

    我正在开发一个框架 在后端创建 ER 图后 该框架可以动态地对自身的各个部分进行编程 作为一名 PHP 新手 我想知道是否还有比打开一个纯 xyz php 文本文件然后将动态生成的代码添加到该文件更奇特的事情 是的 尝试一下Zend Cod
  • NetBeans 代码模板 ${date}?

    我在 Eclipse 中有这个代码模板 自 日期 起 当输入时我得到这样的东西 自2009年8月4日起 但是当我添加相同的模板时 自 日期 起 到 NetBeans 它输出 自日期以来 有人可以帮忙吗 还没有答案吗 这在 Netbeans
  • 通过 jQuery 从输入类型=“文件”多个中删除文件

    我在使用 PHP 和 jQuery 上传文件时遇到问题 表单可以一次上传多个图像 这些图像可以在滑块中预览 表单还包含两个字段标题和描述 滑块通过 jQuery 工作 当用户通过单击选择文件来选择多个图像时
  • WordPress 中的 add_action 函数

    嗯 我正在学习创建一个 WordPress 插件 我下载了一个并阅读了代码 然后我看到了这个 我假设 foo 是它将添加操作的标签 但是 array 到底是做什么的呢 add action foo array foo1 foo2 我在看ht
  • 检查php中位字段是否打开的正确方法是什么

    检查位字段是否打开的正确方法是什么 在 php 中 我想检查来自 db mysql 的位字段是否打开 这是正确的方法吗 if bit 1 还有其他方法吗 我看到有人使用代码ord http jameslow com 2008 08 12 m
  • openssl_pkey_get_details($res) 不返回公共指数

    我在用着这个例子 https stackoverflow com a 12575951 2016196使用 php 生成的密钥进行 javascript 加密openssl图书馆 但是 details openssl pkey get de

随机推荐

  • 没有公共键连接多个表

    您好 我目前有 3 个表 如下所示 表之间没有公共键 表1 gt linkage Table ID Item Material Color 1 keypouch yellow 2 wallet plastic 3 card holder l
  • 检索已离线缓存的文档是否会算作已读?

    在我的应用程序中 每次用户打开其个人资料页面时 该应用程序都会获得一个包含 Firestore 个人资料信息的文档 因此 用户第一次打开应用程序时 它将从 Firestore 服务器下载文档 然后将其离线缓存在设备上 离线持久性打开 现在假
  • 如何将数据发送到与当前请求处理程序不同的请求? (带有 ThreadingMixIn 的 Python SocketServer)

    我正在用Python编写一个多人游戏服务器和客户端 使用内置的SocketServer的TCPServer和ThreadingMixIn 因为它看起来比手动管理套接字和线程模块更容易 我想坚持使用内置模块 它使用类似于 HTTP 的协议进行
  • 使用“union”在整数和数组之间进行类型双关?

    在整数和整数数组之间进行类型双关是否合法 具体代码 include
  • Flask 邮件安全不满足 Microsoft Outlook 的安全要求?

    我们有一个向客户端发送电子邮件的 Web 应用程序 该 Web 应用程序使用 Flask 邮件框架来处理该问题 大约两周前 我们的网络应用程序无法向客户和我们自己的团队发送电子邮件 我们使用 Office 365 的 Outlook 作为发
  • 解析XML时所有nodeValue字段均为None

    我正在用 Python 构建一个简单的基于 Web 的 RSS 阅读器 但在解析 XML 时遇到问题 我首先在 Python 命令行中尝试了一些东西 gt gt gt from xml dom import minidom gt gt gt
  • 使用 IObservable 进行批处理

    我的服务器端向我发送批量消息 批次中的消息数量和频率是任意的 有时 我每隔 1 分钟就会收到一条消息 有时一小时内都没有收到消息 1 到 10 条消息 我当前的实现使用Observable Buffer TimeSpan FromSecon
  • 我们如何指定 tabhost 中每个选项卡的宽度?

    我在我的应用程序中使用 tabhost 我们可以为每个选项卡提供单独的宽度属性吗 即 一个宽度较大 另一个宽度较小 我们可以在代码中提及制表符宽度 例如 tabHost getTabWidget getChildAt 0 getLayout
  • 适配器 getView 被多次调用,位置为 0

    我在从动态布局渲染 ListView 时面临一些问题 我不知道为什么getView仅在位置 0 处被调用多次 我通过互联网和 stackoverflow 进行搜索 但找不到合适的答案 我实际上正在尝试做一个演示 http www frame
  • @Asynchronous bean 内部的 Java 注入

    我有 2 个使用注入来 传递 从中提取的 UserData 信息的 beanHttpRequest 如果我删除 Asynchronous从 WorkerBean 开始 然后它就可以工作了 WorkerBean 可以访问注入的 UserInf
  • SQL Azure 数据同步生产准备好了吗?

    我想开始使用 SQL Azure 和 SQL Azure 数据同步 适用于本地 SQL 2008 和 Azure Azure 门户仍然将数据同步标记为 预览 那么它是否已准备好投入生产 如果不是的话什么时候会呢 任何标记为 预览中 的内容都
  • 使用 jQuery 动态检查和取消检查复选框:bug?

    我制作了一个脚本来控制主从复选框 自动选中和取消选中 这是我的JS document ready function myCheck click function myCheck attr checked false myCheck clic
  • Qt - 信号槽中的参数

    我有一个 QPushButton QDateEdit 和另一个自定义对象 我想将按钮连接到日期编辑对象 当我单击按钮时 日期编辑对象会将其设置日期更改为自定义对象上定义的日期 有点像这样 connect pushbutton SIGNAL
  • 使用 LOGON32_LOGON_NEW_CREDENTIALS 的 LogonUser 适用于远程不受信任的域计算机

    因此 两台机器之间不存在信任 它们位于不同的域中 我已使用登录类型使用 LogonUser API 成功连接到远程计算机 LOGON32 LOGON NEW CREDENTIALS 我能够使用 UNC 共享检索目录的内容 并创建文件流来 下
  • App Store Connect 不显示所有销售 - 为什么?

    为了能够更好地估计我们应用程序的收入 我们实现了一个数据库功能 该功能可靠地 我们在沙盒模式下测试了它 为订阅者在订阅后增加了一个订阅计数器 仅当应用内购买成功后 即当我们收到 StoreKit 的反馈以启用高级功能时 才会触发此功能 现在
  • 修复使用 uploadify 时 django csrf 错误

    我在 django 管理中使用 uploadify 但收到 403 错误 当我使用 csrf exempt错误消失了 但是这是非常危险的 有没有更好的方法通过使用 csrf exempt 装饰器来解决这个问题而不损害管理页面 提前致谢 听起
  • 是否可以使用“firebase-admin”包调用 firebase 函数?

    我有带有基于服务帐户的访问权限的节点应用程序 所以我使用firebase admin 正如我之前所看到的 firebase admin大部分重复firebase包 除了身份验证部分 签名和其他一些部分 但现在我想调用函数 但找不到任何等效项
  • Spring 服务层的 JUnit 测试用例

    我正在尝试配置 JUnit 并为 Spring 3 2 MVC 应用程序的服务层编写测试用例 我找不到太多关于如何从头开始配置 JUnit 并使其适用于 Spring 服务层的信息 这是我的问题 我真的不知道要使用什么版本的 junit 所
  • 如何在构建时在maven中设置项目版本?

    我正在尝试在我们的项目中实现语义版本控制 我测试了 Maven semver 插件 但这对我没有帮助 所以请不要问我为什么 我最终使用了 Maven Groovy 它的工作原理就像一个魅力 但是 当我安装或部署 Maven 项目时 存储库中
  • PHP/GD - 透明背景

    我想结合 GD 在 PHP 中执行以下操作 不幸的是 ImageMagick 不是一个选项 但这似乎是一个常见问题 因此has作为一个解决方案 我似乎找不到它 我想创建一个具有透明背景的PNG 然后我想在上面画一个矩形 在上面复制一个图像