Можно ли проверить, имеет ли PNG-изображение прозрачный фон? - PullRequest
2 голосов
/ 11 января 2012

Я использую функцию обрезки и изменения размера для изображений, но мне нужно разрешить ей обрезать / изменять размеры ТОЛЬКО для png файлов с прозрачным фоном, по крайней мере 1 пиксель на изображении должен быть прозрачным, чтобы изображение было принято.

Можно ли проверить, имеет ли PNG-изображение прозрачный фон / пиксели?

Я использую библиотеки PHP и GD.

РЕДАКТИРОВАТЬ: Хорошо, я понял, каксделать это на PHP с библиотеками GD.Посмотри, как чисто это выглядит!:)

<?php

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

var_dump($alpha);
?>

Любые идеи, как сделать массив для х / у координат, чтобы проверить все пиксели изображения, ища по крайней мере 1 пиксель = $ alpha = 127?

1 Ответ

1 голос
/ 11 января 2012

Что ж, вы, безусловно, можете пройти через все пиксели и проверить, есть ли у любого из них альфа, отличающийся от 255. Какой язык и библиотеки вы используете?

...