小编use*_*241的帖子

是否可以检查 PNG 图像是否具有透明背景?

我正在对图像使用裁剪和调整大小功能,但我需要让它仅裁剪/调整具有透明背景的 png 文件的大小,图像中至少有 1 个像素应该是透明的,以便图像被接受。

是否可以检查 PNG 图像是否具有透明背景/像素?

我正在使用 PHP 和 GD 库。

编辑:好的,我已经想出了如何使用 GD 库在 PHP 上执行此操作。你看它看起来多干净!:)

<?php

$im = imagecreatefrompng("php.png");
$rgba = imagecolorat($im,1,1);
$alpha = ($rgba & 0x7F000000) >> 24;

var_dump($alpha);
?>
Run Code Online (Sandbox Code Playgroud)

任何想法如何为 x/y 坐标做一个数组来检查所有图像像素,寻找至少 1 个像素 = $alpha = 127?

png resize crop transparent

5
推荐指数
1
解决办法
2万
查看次数

我在图像像素循环中做错了什么?

<?php

$img = imagecreatefrompng("cuack.png");

$imagew = imagesx($img);
$imageh = imagesy($img);

$width = array();
$heigth = array();          
$x = 0;
$y = 0;

for ($x = 0; $x <= $imagew; $x++) {

    $rgba = imagecolorat($img,$x,1);
    $alpha = ($rgba & 0x7F000000) >> 24;

    var_dump($alpha);
}

for ($x = 0; $x <= $imageh; $x++) {

}
Run Code Online (Sandbox Code Playgroud)

我正在尝试检查图像中的每个像素是否有透明像素,但我收到以下错误:

注意:imagecolorat()[function.imagecolorat]:1920,1在第18行的C:\ www\index.php中超出范围

php gd image pixel libraries

2
推荐指数
1
解决办法
2985
查看次数

标签 统计

crop ×1

gd ×1

image ×1

libraries ×1

php ×1

pixel ×1

png ×1

resize ×1

transparent ×1