问题标签 [imagecreatefrompng]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
31308 浏览

php - 具有透明背景的PHP图像复制

我使用此代码从另一个 png 图像创建图像,默认情况下背景为黑色。我的问题是如何设置透明背景?

有没有一种简单的方法可以做到这一点?谢谢

0 投票
1 回答
7151 浏览

php - 在 php 中使用 GD 函数 imagecreatefrom* 时如何防止出现“不是有效的图像文件”错误?

我正在对上传的图像使用 imagecreatefromgif / imagecreatefromjpeg / imagecreatefromjpeg 函数,当图像损坏时,有时会出现错误(例如,警告:imagecreatefromgif(): ... is not a valid GIF file)。我阅读了很多关于这个主题的帖子,但找不到“有效”的答案。

我确实尝试了以下一些方法来验证图像(如其他帖子中所建议的那样),但它们都不能在所有情况下工作。如果图像没有标头信息,则以下方法有效,但如果图像具有标头/mime 类型信息并且已损坏,则它不起作用。

或者

或者

使用 getimagesize($uploaded_image); // 如果图像无效,将返回 false 或错误。

这些情况都不适用于具有标头信息/mime 类型信息的损坏图像文件。

我想防止出现这些错误,并在可能的情况下检测图像是否没有损坏,并且可以在没有任何 imagecreatefromgif / imagecreatefromjpeg / imagecreatefromjpeg 函数的问题的情况下使用。如果损坏,我想显示一条错误消息而不是运行该功能。我正在寻找 PHP 中的解决方案。

感谢您的帮助和建议。

0 投票
1 回答
3500 浏览

php - 调整大小后这张照片变得模糊

上传这张照片并调整大小后,我注意到它的质量变得有点模糊......为什么会发生这种情况?我有足够的空间,所以还有什么问题?

原来的,

在此处输入图像描述

调整大小后,

在此处输入图像描述

但是我上传的其他图片完全没有问题。为什么只发生在这张照片上?

会不会是下面的调整大小功能造成的?

0 投票
2 回答
5052 浏览

php - 来自任何常用文件格式的 PHP imagecreate() PNG?

我目前有一个只接受 PNG、JPG/JPEG、GIF 图像的图像上传输入。如果文件是有效的,它会继续使用从图像创建缩略图

这很好用,但显然只适用于 png 图像。

除了使用提交的正确文件格式外,使用“imagecreatefrompng()”最合乎逻辑和最有效的方法是什么?我能想到的只是 if/else 使用多个“imagecreatefrom_ _ ()”,但这似乎不对。

此外,无论提交什么而不是我现在拥有的当前 imagejpg(),我的输出格式如何始终是 PNG。

0 投票
1 回答
67 浏览

php - 将超过 1 个图像与基础图像合并

我使用此代码合并两个图像。有人可以帮我将 2 个源图像与 1 个基础图像合并。例如。我有这些图片 base.jpg、image1.jpg、image2.jpg。我想在 base.jpg 上合并 image1.jpg 和 image2.jpg。我正在使用此代码合并两个图像。

0 投票
1 回答
438 浏览

php - Imagecreatefrompng() - 连接被重置错误

我在网站上安装了一段代码,其中包括 gd 功能。经过调试,我得出的结论是

导致服务器响应:“连接已重置”即使我将代码更改为:

发生同样的错误。我检查了 php 版本,检查了是否安装并启用了 gd 库,但一切正常。error_log 中没有任何内容。还有,文件路径没问题,文件存在,其他函数可以访问该文件(如fopen或file_get_contents),所以权限没有问题。

有人有想法吗?

编辑:该文件位于本地服务器上。

0 投票
1 回答
2362 浏览

php - imagecreatefrompng() 和大小限制

我在 PHP 中使用imagecreatefrompng()函数时遇到了一些问题。

我开发了一个网站,其目标是允许用户上传他们自己的 Sprite Comics(使用从视频游戏中提取的资源制作的漫画,称为 sprites)。

我想在他们的画廊中展示他们漫画的一些缩影,所以我使用了 GD,当然还有imagecreatefrompng()

但它会引发大图像的致命错误:

致命错误:内存不足(分配 8388608)(试图分配 4545600 字节)

即使通过ini_set()设置了“memory_limit”的值,也会出现同样的错误......

经过几个小时的研究,似乎是因为分辨率:imagecreatefrompng()无法管理超过 1 040 000 像素的图像......!

非常非常不方便,因为我不能限制用户发送的漫画的大小......

您知道解决此问题的任何提示吗?

提前感谢!

0 投票
1 回答
597 浏览

php - PHP:透明背景

输出:

http://i.stack.imgur.com/0E7Lz.png

如何为“johnny-bravo”制作透明背景?

0 投票
3 回答
14206 浏览

image - 尝试从给定的 PNG 图像中提取像素值

试图理解PNG格式。

考虑这个PNG图像:

在此处输入图像描述

图片取自这里

在 Hex Editor 中,它看起来像这样:

等效字符:

十六进制编辑器的以下屏幕截图中显示了相同的内容:

在此处输入图像描述

我正在尝试对该图像进行逆向工程以提取标题部分和 RGB 像素值。我在此处阅读了有关PNG的信息,到目前为止,我已经注意到有关此图像的以下内容:

IHDR 块必须首先出现。它包含:

下面我开始按顺序读取 HEX 数据:

1- 前 8 字节:这是 8 字节签名

等效地这是: %PNG 可以在 HEX 编辑器中看到

一个有效的 PNG 图像必须包含一个 IHDR 块、一个或多个 IDAT 块和一个 IEND 块。

2-块:长度

3-Chunk:Chunk 类型

哪个是 IHDR。

http://www.w3.org/TR/PNG-Chunks.html

4- 块:图像的宽度(十进制 128)

5- 块:图像的高度(十进制 68)

6-块:位深度(1字节)

7-块:颜色类型

8- 压缩方法

9-过滤方法:

10- 交错法:

11-以下数据是什么?

C6 25 AA 3E 00 00 00 C2

12——IDAT

49 44 41 54

13- 这是什么数据(IDAT 之后):

78 5E ED D4 81 06 C3 30 14 40 D1 B7 34 DD FF FF 6F B3 74 56 EA 89 12 6C 28 73 E2 AA 34 49 03 87 D6 FE D8 7B 89 BB 52 8D 3B 87 FE 01 100 80 00 0 00 02 00 40 00 00 08 00 00 01 00 20 00 00 04 00 80 00 00 10 00 00 02 00 40 00 00 08 00 00 01 00 20 00 00 00 D4 5E 6A 54 4B 94 C 2C 54 4B 94 F 3E CF 9C 3F 73 71 58 5F AF 8B 79 5B EE 96 B6 47 EB F1 EA D1 CE B6 E3 75 3B E6 B9 95 8D C7 CE 03 39 C9 AF C6 33 93 7B 66 37 CF AB BF F9 C9 2F 08 80 00 00 10 00 00 02 00 40 00 00 08 00 00 01 00 20 00 00 04 00 80 00 00 10 00 00 02 00 40 00 00 08 00 00 01 00 20 00 00 20 00 00 20 00 00 20 00 00 20 00 00 20 00 00 01 00 20 00 00 04 00 80 00 00 10 00 00 02 00 40 00 00 08 00 00 01 00 20 00 00 8C 0 0 37 DB 96 6 00 00

14- IEND:

49 45 4E 44

15- 最后 4 个字节

这些是什么 ?

有人可以帮助我理解上面的第 11、13 和 15 点吗?像素值在哪里?图像具有(128 x 68 像素)

了解这些细节的目的:

一旦我知道了这些细节,我将生成我自己的 16 位 PNG 图像。我已经有了像素值,所以我的工作是引入标题等。
我不知道是否有软件可以执行这项工作。

更新

我现在明白由于压缩,我无法找到像素值。

我想到我可以在 OpenCV 中编写一个文件并将其保存为 png。那么现在我的直接问题是:我有一个具有灰度 16 位像素值的二进制文件。我可以在 OpenCV 中将其写为 16 位 PNG 吗?

0 投票
1 回答
8445 浏览

php - php 创建图像并为其添加背景图像

我想将图像作为背景图像添加到由我的 PHP 代码创建的图像中

图像位于同一台服务器上

http://www.example.com/img/sitebg.png

我试过的