Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: проблема с получением Alpha  (Прочитано 4225 раз)
0 Пользователей и 1 Гость смотрят эту тему.
bebabo
Помогающий

ru
Offline Offline

WWW
« : 02-05-2007 08:14 » 

посредством DirectX вывожу на экран .png файл и хочу получить из этого файла значение прозрачности пиксела, на который указывает курсор. изображение хранится в памяти как LPDIRECTDRAWSURFACE.
получаю значение позиции курсора (x,y). вычитаю из этих значений х,y картинки (левый верх. угол) - получаю таким образом позицию курсора "в картинке" _x, _y.
далее делаю следующее

ulong* aSrcPtr = mImage->mNativeAlphaData;
ulong val = *(aSrcPtr + (_x * _y));
ulong Alpha = val >> 24;

в ulong* mNativeAlphaData хранится информация о прозрачности.

работает не совсем так как мне хотелось бы. частенько при попадании в совершенно прозрачную область выдает не нулевые значения.
подскажите, в чем здесь ошибка?
« Последнее редактирование: 21-05-2007 07:38 от bebabo » Записан

Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines