Модераторы: Snowy, Alexeis, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> прозрачность (psd или любой другой), альфа канал 
:(
    Опции темы
gonzales
Дата 24.12.2007, 13:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 241
Регистрация: 13.3.2006

Репутация: 1
Всего: 2



подскажите, как достать маску прозрачности, сохраненную например в psd-формате (или png, хотя я не понял в упор, как она там сохраняется, при сохранении png в фотошопе альфаканал пропадает).

необходимо это для отображения правильной тени от объекта. как прописовать саму тень ясно.
вариант с загрузкой маски из отдельного файла не предлагать.
пробую загружать psd с помощью библиотек GraphicEx.
А вот как извлечь альфаканал в упор не могу понять


--------------------
- мастер, мастер, запорол..., все четыре запорол!!!- я ж тебе только три давал!!!???- да я и образец запорол!!!!
PM MAIL   Вверх
Alexeis
Дата 24.12.2007, 20:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 55
Всего: 459



gonzales, если использовать PNGImage, то у него есть свойство AlphaScanLine, которое дает доступ к альфа-каналу на подобии обычного ScanLine. Очевидно, что альфа-канал храниться отдельно у него.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
gonzales
Дата 24.12.2007, 22:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 241
Регистрация: 13.3.2006

Репутация: 1
Всего: 2



а PNGImage поддерживает другие форматы кроме png?
в принципе обычный 32-битный bmp-файл корректно обрабатывается обычным AlphaBlend, но и из него я не смог извлечь альфаканал.
--------------------
- мастер, мастер, запорол..., все четыре запорол!!!- я ж тебе только три давал!!!???- да я и образец запорол!!!!
PM MAIL   Вверх
Alexeis
Дата 24.12.2007, 22:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 55
Всего: 459



Цитата(gonzales @  24.12.2007,  22:01 Найти цитируемый пост)
а PNGImage поддерживает другие форматы кроме png?

  Неа.
Цитата(gonzales @  24.12.2007,  22:01 Найти цитируемый пост)
обычный 32-битный bmp-файл корректно обрабатывается обычным AlphaBlend, но и из него я не смог извлечь альфаканал.

  У него альфа-канал в каждом пикселе, не помню то ли в 1м то ли в последнем байте двойного слова.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
gonzales
Дата 25.12.2007, 10:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 241
Регистрация: 13.3.2006

Репутация: 1
Всего: 2



спасибо. 
а вот такой конструкцией нельзя его выцепить?
Код

type
  TRGBA = packed record
           case Byte of
           0: (B, G, R, A : Byte);
           1: (Acolor : Cardinal);
  end;

  T32bitarr = array[0..32000] of TRGBA;
  P32bitarr = ^T32bitarr;


 for j := 0 to bmp2.Height - 1   
  do
    begin
      Line := bmp2.ScanLine[j];
      for i := 0 to bmp2.Width - 1
      do
          Line[i].A //---- вот это не дает картинку альфаканала?
    end;

--------------------
- мастер, мастер, запорол..., все четыре запорол!!!- я ж тебе только три давал!!!???- да я и образец запорол!!!!
PM MAIL   Вверх
Alexeis
Дата 25.12.2007, 11:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 55
Всего: 459



Цитата(gonzales @  25.12.2007,  10:16 Найти цитируемый пост)
а вот такой конструкцией нельзя его выцепить?

  Думаю просто битмапка неправильная. Приатачиваю битмапку где пример указанный пример работает.

Присоединённый файл ( Кол-во скачиваний: 8 )
Присоединённый файл  1.rar 1,14 Kb


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
gonzales
Дата 25.12.2007, 11:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 241
Регистрация: 13.3.2006

Репутация: 1
Всего: 2



Цитата

Думаю просто битмапка неправильная


нет, битмэпка правильная. У меня ощущение, что я не правильно сканлайн организовываю.
Ведь есть разница между pf32bit и pf8bit?

Добавлено через 13 минут и 46 секунд
и еще один вопрос, в архиве лежит проект, практически идентичный вот этому http://forum.vingrad.ru/topic-54390.html при джина из бутылки. Но выходит какая-то лажа. Не пойму почему

Присоединённый файл ( Кол-во скачиваний: 4 )
Присоединённый файл  1.rar 5,25 Kb
--------------------
- мастер, мастер, запорол..., все четыре запорол!!!- я ж тебе только три давал!!!???- да я и образец запорол!!!!
PM MAIL   Вверх
Alexeis
Дата 25.12.2007, 12:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 55
Всего: 459



Цитата(gonzales @  25.12.2007,  11:59 Найти цитируемый пост)
У меня ощущение, что я не правильно сканлайн организовываю.
Ведь есть разница между pf32bit и pf8bit?

  А у меня не ощущение, а факты. Я проверял твой код и получил в Line[i]. A правильное значение альфы. У меня альфа больше нуля начинается с 7 строки, так примерно и есть на моей картинке. Альфа почти сразу переходит к уровню полной непрозрачности (255), так и есть на рисунке. У меня полное соответствие. Формат я указывал pf32bit . Байты и идут в порядке BGRA. 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
gonzales
Дата 25.12.2007, 12:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 241
Регистрация: 13.3.2006

Репутация: 1
Всего: 2



спасибо, буду копаться
--------------------
- мастер, мастер, запорол..., все четыре запорол!!!- я ж тебе только три давал!!!???- да я и образец запорол!!!!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Звук, графика и видео"
Girder
Snowy
Alexeis

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • По вопросам разработки игр стоит заглянуть сюда

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Girder, Snowy.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема »


 




[ Время генерации скрипта: 0.0595 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.