问题标签 [gd2]

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 投票
1 回答
164 浏览

php - PHP/JS 图像创建

我想知道这是否可能:用户上传一张图片,然后在浏览器中呈现给他。图像被放置在具有预定义图像作为背景的 div 中。用户可以将他上传的图像拖放到该 div 的边界内。

这将类似于上传自己的照片,然后将其定位在热带海滩的背景下。用户然后单击确定并可以选择下载图像。

我已经涵盖了上传和 JS 拖放。我只是想知道:是否有可能在服务器上创建一个新的图像,该图像存在于背景图像和前景图像中?所以基本上必须从指定的 DIV 的内容创建图像。

0 投票
2 回答
5546 浏览

php - PHP GD2:如何保持 alpha 通道透明度和正确的 gamma

我对这个关于图像缩放的讨论很感兴趣,随后发现我用来从上传的图像创建缩略图的 PHP 代码也遇到了同样的问题。我决定尝试贴在底部附近的 PHP 修复(将 gamma 从 2.2 转换为 1.0,调整图像大小,将 gamma 从 1.0 转换回 2.2)。这可以解决文章中提到的问题,但是对代码的这种修改具有敲除 PNG alpha 通道透明度的不幸副作用。

这是我使用伽玛校正的代码。

任何人都知道如何调整图像大小,采用伽玛校正技巧,同时保持原始图像的 alpha 通道透明度?

编辑

示例图片:

  1. 原始文件 - 具有 Alpha 通道透明度的 PNG
  2. 使用两个 imagegammacorrect() 函数调用调整大小的文件已注释掉
  3. 使用两个 imagegammacorrect() 函数调用调整大小的文件

在您尝试校正 Gamma 之前,您可以看到透明度很好。(查看透明度的最简单方法是检查包裹在图像周围的段落标签,并通过 FireBug 或类似方法将背景添加到其样式属性中。)

原始图像 http://ender.hosting.emarketsouth.com/images/test-image.png 没有伽玛校正 http://ender.hosting.emarketsouth.com/images/test-image-resized-no-gamma.png 伽玛更正 - 没有透明度 http://ender.hosting.emarketsouth.com/images/test-image-resized.png

0 投票
1 回答
2113 浏览

php - CodeIgniter/PHP/GD2 Image Manipulation 正在兴起

我有一个网站可以获取用户上传的图像,并制作三份副本 - 一个“完整”副本打印(缩小到 1500x1125),一个“网络”副本在线显示(尚未编码),最后是缩略图。

所以这里的代码 - _imageformat() 从 CI 的上传类传递参数(我已经确认是正确的):

{ // 我们现在格式化图像。

// 首先,我们检查它是横向还是纵向 if ($width >= $height) // 它是横向(或正方形) { // 现在创建完整的打印图像 $fullimage = $this->_resize('l' , $fullpath, $shortpath, $width, $height); } else // 这是纵向的 { // 现在创建完整的打印图像 $fullimage = $this->_resize('p', $fullpath, $shortpath, $width, $height); }

}

function _resize($type, $fullpath, $shortpath, $width, $height) { // 设置默认的图像处理配置选项 $config['image_library'] = 'gd2'; $config['source_image'] = $fullpath; $config['maintain_ratio'] = 真;

}

应该发生什么:在我的上传文件夹中,有三张图片 - 原始上传的文件(我们称之为 image.jpg)、调整大小的文件(命名为 image_full.jpg)和缩略图(命名为 image_thumb.jpg)。

会发生什么:在我的上传文件夹中,只有两张图像 - 原始上传文件 (image.jpg) 和调整大小的文件 (image_full.jpg) 从未创建任何缩略图。

然而,有趣的是,** 如果我首先放置创建缩略图的代码,它会生成缩略图,但 ** 不会生成 _full(调整大小的)图像。

所以在我看来,它永远不会运行$this->image_lib->resize()两次。为什么不?是我犯了一些业余错误,还是我错过了一些明显的东西?!:P

谢谢!

杰克

编辑:我应该指出,是的,我知道我要加载image_lib库两次。我知道这是向它传递新参数的唯一方法。在调整完整图像的大小后,我还尝试调用$this->_thumbnail()which 在此处再次加载库。但还是出现了同样的问题。

编辑 2:我也尝试过使用$this->image_lib->clear()- 仍然没有运气。

0 投票
2 回答
665 浏览

php - 如何使用 PHP 在图像上仅隔离一种颜色?

是否可以在图像中只留下(隔离)一种颜色?目前我对绿色感兴趣:005d00

0 投票
1 回答
1760 浏览

php - 使用 PHP 和 GD2 调整图像大小。我得到图像和黑色背景

我正在创建一个动态类来生成各种图像。

图像实用程序.php

我怎么称呼:

宽度此代码工作正常......但如果我使用这个:

我生成的最终图像如下所示:http: //i51.tinypic.com/htwx79.jpg

输入图片为:http: //i51.tinypic.com/15n9ifc.jpg

我不知道如何解决它...我的 proporcion() 函数从照片的纵横比返回新的高度和宽度...我检查并且值是正确的,返回的宽度是 300(最终图像宽度为 300 ......但计算黑色区域)。

0 投票
1 回答
337 浏览

php - 基于文本 PHP 的动态图像

我想使用 GD 生成精美的字体文本图像。

我已经找到:

但它看起来像这样:http: //img638.imageshack.us/img638/4575/testphp.png (切掉部分)

0 投票
2 回答
2726 浏览

php - 用于调整图像大小和创建缩略图的 ImageMagick 或 GD 库?

我一直在使用其他人编写的图像调整大小类来调整图像大小或创建缩略图,这是我一直在使用的类的链接。

http://www.white-hat-web-design.co.uk/articles/php-image-resizing.php

我猜图像 GD 库对图像的分辨率或文件大小有一些限制,它适用于低分辨率图片调整大小(低于 1024 像素)但如果我尝试上传高分辨率 jpeg 图像(即 3400 像素 X 2200 像素),它不会调整大小) 大致,

调整图像大小的目的是我正在开发一个图片库应用程序。

有什么办法可以绕过图像 gd 库施加的限制(我在共享主机上对主机不同意的系统文件进行任何更改)。?

还是我应该为此目的使用 imageMagick(我的主机已经安装了 imageMagick)?我对使用 imageMagick 不是很熟悉,有没有可以用于此目的的内置插件或类?

是否有任何可以完成我工作的 jquery 插件的推荐?

谢谢你

0 投票
1 回答
301 浏览

php - 让 GD2 在 Windows 2000 SP4 (PHP 5.1.6) 上运行

我已经尝试了一切.. GD不会启用!本质上,我有

我已将c:\php\ext和添加c:\php到我的 Windows 路径变量中。我复制php_gd2.dll到我的system32文件夹.. 我扫描了我的整个 INI 文件,看看是否有任何其他对 extension_dir 或 GD2.dll 扩展行的引用,什么都没有...... GD 仍然无法启用。

更新

我更改了php.ini我的C:\PHP文件夹和我的C:\WINNT文件夹中的文件——实际上它们都显示应该启用 GD——我还在两个文件中都将内存从8Mto提高了32M,但仍然没有运气。

更新 2

我们正在将这该死的东西移到另一台服务器上。不值得花时间让这该死的东西正常工作。感谢所有的贡献。

phpinfo() 链接 (http://netcomdevelopment.com/test.php)

EXT 目录 文件列表

0 投票
1 回答
29579 浏览

php - 在 PHP 中启用 GD 支持

我正在尝试在 Windows 上的 Apache 服务器上安装 pixelpost。安装程序失败是因为:

如果您的 PHP 安装没有使用 GD 图形库编译,Pixelpost 将不会运行。

我在 php.ini 中添加了以下行

但我仍然收到相同的错误消息。当我运行时,phpinfo()我没有看到对 GD 的任何引用,所以我猜它确实没有安装。我搜索了php_gd2.dll它,它位于ext我的 PHP 根目录的子文件夹中。

我对PHP一无所知,所以对我温柔一点。

更新

要回答评论中提出的问题:

  • 我修改后重新启动了Apachephp.ini
  • php.ini在我的 PHP 安装的根目录中C:\php\php.ini

0 投票
8 回答
153388 浏览

php - 使用 PHP 将 SVG 图像转换为 PNG

我正在开发一个网络项目,该项目涉及根据一组数据为不同州着色的美国动态生成地图。

这个 SVG 文件给了我一张很好的美国空白地图,并且很容易改变每个州的颜色。困难在于 IE 浏览器不支持 SVG,所以为了让我使用 svg 提供的便捷语法,我需要将其转换为 JPG。

理想情况下,我只想使用 GD2 库来执行此操作,但也可以使用 ImageMagick。我完全不知道如何做到这一点。

将考虑任何允许我动态更改美国地图上各州颜色的解决方案。关键是它很容易动态更改颜色并且它是跨浏览器的。请仅使用 PHP/Apache 解决方案。