标签: gd

使用PHP的GDlib imagecopyresampled时,是否可以保留PNG图像透明度?

以下PHP代码段使用GD将浏览器上传的PNG大小调整为128x128.它的效果很好,除了原始图像中的透明区域在我的情况下被替换为纯黑色.

虽然imagesavealpha已经确定,但事情并不完全正确.

保留重采样图像透明度的最佳方法是什么?

$uploadTempFile = $myField[ 'tmp_name' ]
list( $uploadWidth, $uploadHeight, $uploadType ) 
  = getimagesize( $uploadTempFile );

$srcImage = imagecreatefrompng( $uploadTempFile );    
imagesavealpha( $targetImage, true );

$targetImage = imagecreatetruecolor( 128, 128 );
imagecopyresampled( $targetImage, $srcImage, 
                    0, 0, 
                    0, 0, 
                    128, 128, 
                    $uploadWidth, $uploadHeight );

imagepng(  $targetImage, 'out.png', 9 );
Run Code Online (Sandbox Code Playgroud)

php png transparency gd alpha

97
推荐指数
6
解决办法
9万
查看次数

GD与ImageMagick对阵Gmagick为jpg?

我正在放弃GD来操纵我的网站中的图像 - 这太糟糕了.

每个人都说要使用ImageMagick因为它们比GD好,但ImageMagick和Gmagick(瑞士军刀图像处理)怎么样?

Zend在这里有一篇很漂亮的文章http://devzone.zend.com/article/10531谈论它们.

在我离开ImageMagick之前,是否有使用gmagick的动机?

(PHP 5.3+)

编辑:问两个库之间哪个更好有什么问题?我认为这是一个公平的问题.如果有人可以解释一个lib优于另一个的好处,那将有助于我和其他人阅读这个问题.为什么要关闭这样的问题?

编辑2:每个人都在问我需要做什么:我认为这是不经意的:用户上传图像(可能是png/gif/bmp w/e)我需要转换为JPG,然后将其存储在数据库中,最终如果它们是太大我需要调整一下它们.

谢谢

php gd image imagemagick image-processing

86
推荐指数
2
解决办法
4万
查看次数

PHP中高效的JPEG图像大小调整

在PHP中调整大图像大小的最有效方法是什么?

我目前正在使用GD功能imagecopyresampled来拍摄高分辨率图像,并将它们干净地调整到适合网页查看的大小(大约700像素宽,700像素高).

这适用于小(2 MB以下)的照片,整个调整大小操作在服务器上只需不到一秒钟.但是,该网站最终将为可能上传最大10 MB图像的摄影师提供服务(或者图像尺寸最大为5000x4000像素).

使用大图像执行此类调整大小操作往往会大幅增加内存使用量(较大的图像会使脚本的内存使用量超过80 MB).有没有办法让这个调整大小操作更有效率?我应该使用像ImageMagick这样的替代图像库吗?

现在,调整大小代码看起来像这样

function makeThumbnail($sourcefile, $endfile, $thumbwidth, $thumbheight, $quality) {
    // Takes the sourcefile (path/to/image.jpg) and makes a thumbnail from it
    // and places it at endfile (path/to/thumb.jpg).

    // Load image and get image size.
    $img = imagecreatefromjpeg($sourcefile);
    $width = imagesx( $img );
    $height = imagesy( $img );

    if ($width > $height) {
        $newwidth = $thumbwidth;
        $divisor = $width / $thumbwidth;
        $newheight = floor( $height / $divisor);
    } else {
        $newheight …
Run Code Online (Sandbox Code Playgroud)

php gd jpeg image

81
推荐指数
5
解决办法
8万
查看次数

imagecreatefromjpeg和类似的函数在PHP中不起作用

我搜索过这个问题,过去问题中提供的解决方案对我来说完全不可理解.每当我运行这样的函数时imagecreatefromjpeg,我得到这个:

致命错误:调用未定义的函数imagecreatefromjpeg()...

我正在开发一个新的PHP安装; 我的上次安装从未遇到过这个问题.我不知道发生了什么.

php gd

66
推荐指数
10
解决办法
13万
查看次数

在PHP中裁剪图像

下面的代码可以很好地裁剪图像,这就是我想要的,但对于较大的图像,它也可以工作.有没有办法'缩小图像'

理想的是,我可以在裁剪之前让每张图像的大小大致相同,这样每次都能获得好的效果

代码是

<?php

$image = $_GET['src']; // the image to crop
$dest_image = 'images/cropped_whatever.jpg'; // make sure the directory is writeable

$img = imagecreatetruecolor('200','150');
$org_img = imagecreatefromjpeg($image);
$ims = getimagesize($image);
imagecopy($img,$org_img, 0, 0, 20, 20, 200, 150);
imagejpeg($img,$dest_image,90);
imagedestroy($img);
echo '<img src="'.$dest_image.'" ><p>';
Run Code Online (Sandbox Code Playgroud)

php gd crop

61
推荐指数
2
解决办法
13万
查看次数

在ubuntu上安装php70-gd

最近新的php7已经发布.但是,当我尝试安装gd包时,找不到该库.

我试过了

sudo apt-get install php70-gd 
Run Code Online (Sandbox Code Playgroud)

sudo apt-get install php70-php-gd
Run Code Online (Sandbox Code Playgroud)

有没有人知道gd是否适用于php 7?

php gd

55
推荐指数
4
解决办法
9万
查看次数

php imagecopyresized vs imagecopyresampled vs imagecopy pros/cons

这些似乎都做同样的事情.每个人的利弊是什么?

imagecopyresized()vs imagecopyresampled()vs imagecopy().

我正在调整用户提交的图像的大小.

所以我有一个用'$ newImage = imagecreatetruecolor(250,250)'创建的图像shell.

现在我想将原始图像复制到'$ newImage'

php gd copy image

51
推荐指数
1
解决办法
3万
查看次数

启用/安装GD扩展?--without-GD

当我在"配置命令"中输入phpinfo()时,如何启用(或者我需要安装)GD; --without-gd?

我的phpinfo()输出"Core"中也没有任何内容列出"gd"

AWS上的PHP V5.2.4.

php gd amazon-ec2

49
推荐指数
6
解决办法
14万
查看次数

48
推荐指数
4
解决办法
12万
查看次数

我可以使用php和gd检测GIF动画吗?

我目前遇到一些使用GD调整图像大小的问题.

一切正常,直到我想调整动画gif的大小,在黑色背景上提供第一帧.

我尝试过使用getimagesize但只给了我维度,没有什么可以区分任何gif和动画.

GIF动画不需要实际调整大小,只要能够跳过它们就足够了.

有线索吗?

PS.我无法访问imagemagick.

亲切的问候,

短剑的一种

php gd

43
推荐指数
4
解决办法
2万
查看次数

标签 统计

gd ×10

php ×10

image ×3

alpha ×1

amazon-ec2 ×1

cakephp ×1

centos ×1

copy ×1

crop ×1

image-processing ×1

imagemagick ×1

jpeg ×1

linux ×1

png ×1

transparency ×1