![]() |
Модераторы: korob2001, ginnie |
![]() ![]() ![]() |
|
Сisa |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 179 Регистрация: 18.1.2013 Репутация: нет Всего: нет |
Подскажите, пожалуйста, как можно получить значение альфа канала для отдельного пикселя изображения?
|
|||
|
||||
arto |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1495 Регистрация: 31.10.2004 Репутация: 38 Всего: 40 |
||||
|
||||
Сisa |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 179 Регистрация: 18.1.2013 Репутация: нет Всего: нет |
В тех примерах самый лучший результат :
Image dimensions: height = 348, width = 349 shade = 238, 238, 238 shade = 255, 255, 255 shade = 255, 255, 255 shade = 238, 238, 238 shade = 238, 238, 238 shade = 238, 238, 238 Image dimensions: height = 348, width = 349 shade = 204, 204, 204 shade = 170, 170, 170 shade = 136, 136, 136 shade = 187, 187, 187 shade = 153, 153, 153 Он пишет "Не повезло.","Тем не менее не работает. Что мне не хватает?" и т.п. И альфа таки нету. Перевод был машинный, может я что не понял. Это сообщение отредактировал(а) Сisa - 1.9.2014, 18:56 |
|||
|
||||
arto |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1495 Регистрация: 31.10.2004 Репутация: 38 Всего: 40 |
в смысле нет альфы?
|
|||
|
||||
Сisa |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 179 Регистрация: 18.1.2013 Репутация: нет Всего: нет |
Альфа в рисунке.
А значение альфы для отдельного пикселя как получить в переменную perl? |
|||
|
||||
arto |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1495 Регистрация: 31.10.2004 Репутация: 38 Всего: 40 |
ачто у вас именно не получилось?
приведите код. |
|||
|
||||
Сisa |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 179 Регистрация: 18.1.2013 Репутация: нет Всего: нет |
Для рисунка в первоначальном варианте альфа пишет значение 0. В GIMPе пытаюсь добавить прозрачность в рисунок, чтобы считать не 0, и теперь dzsoft пишет "Cannot load Imager=HASH(0x348afc): not a BMP file at alfa.pl line 8" Присоединённый файл ( Кол-во скачиваний: 1 ) ![]() |
|||
|
||||
arto |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1495 Регистрация: 31.10.2004 Репутация: 38 Всего: 40 |
может у вас с форматом проблемы?
# file /tmp/*.bmp /tmp/14.bmp: PC bitmap, Windows 3.x format, 591 x 789 x 16 /tmp/a14.bmp: data # |
|||
|
||||
Сisa |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 179 Регистрация: 18.1.2013 Репутация: нет Всего: нет |
Поищу готовые фото с прозрачностью, чтобы получить не 0.
|
|||
|
||||
Сisa |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 179 Регистрация: 18.1.2013 Репутация: нет Всего: нет |
arto, спасибо!
Для иконок прозрачность отлична от 0. Например: shade = 62, 63, 72, 249 shade = 32, 36, 45, 233 И было бы вообще класс если бы так же читались rgba не только форматы: formats bmp, ico, pnm, raw, sgi, tga available for reading, но и format 'jpeg', 'png' а они not supported для Imager. |
|||
|
||||
Сisa |
|
||||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 179 Регистрация: 18.1.2013 Репутация: нет Всего: нет |
+ setpixel и новый рисунок, а как его сохранить? явно не так:
Добавлено через 13 минут и 49 секунд
Ура! Есть. Остался вопрос только с jpg, png. |
||||||
|
|||||||
arto |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1495 Регистрация: 31.10.2004 Репутация: 38 Всего: 40 |
у меня imager показывает
# perl -MImager -le 'while(($a,$b)=each%Imager::formats){print"$a: $b"}' ifs: 1 pnm: 1 bmp: 1 tga: 1 raw: 1 png: 1 tiff: 1 jpeg: 1 ft2: 1 # а у вас? |
|||
|
||||
DProf |
|
|||
Новичок Профиль Группа: Участник Сообщений: 39 Регистрация: 28.9.2012 Репутация: 1 Всего: 1 |
Вы можете также попробовать другие библиотеки, они мощнее чем Imager
http://search.cpan.org/~lds/GD-2.53/GD.pm http://www.graphicsmagick.org/perl.html рекомендую GD |
|||
|
||||
Сisa |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 179 Регистрация: 18.1.2013 Репутация: нет Всего: нет |
# perl -MImager -le 'while(($a,$b)=each%Imager::formats){print"$a: $b"}'
perl -MImager -le 'while(($a,$b)=each%Imager::formats){print"$a: $b"}' не показывает ничего. Такой код:
пишет : try png try gif try jpeg try tiff try ppm try ico и ничего не сохраняет. хотя в нем и присутствует в списке тип файла иконка, так что сохраняю только $image->write(file => "foo.ico"). Значит $Imager::formats не работает, возможно версия другая какая то у меня. Придется пробовать другие библиотеки для jpg, png. Возможно GD. Это сообщение отредактировал(а) Сisa - 3.9.2014, 23:05 |
|||
|
||||
arto |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1495 Регистрация: 31.10.2004 Репутация: 38 Всего: 40 |
что именно вы сохраняете?
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Perl" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |