On-line: Andrey, PSP, гостей 0. Всего: 2 [подробнее..]
АвторСообщение
Администратор




Пост N: 468
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 29.12.06 09:51. Заголовок: Прозрачный Bitmap и Brush


Пока не начался Новый год
Вот захотелось сделать, а не получается

В наличии:
Обьект TWindow с установленным Brush (bmp из ресурса или файла)

Прямоугольный (естественно) Bitmap, в котором часть (края) прозрачные

Хочу чтобы под прозрачной частью Bitmap был мой Brush

Рисую так:

1) Чуть подправил класс TWindow: в методе SayBitmap добавил

PalBmpDraw( ::GetDC(), nRow, nCol, coBitmap:hBitmap, coBitmap:hPalette,;
nWidth, nHeight,, coBitmap:lTransparent, ::nClrPane )

Дальше:

oBmp := TBitMap():new(50, 20,,, if(!lFile,'Cliper',), if(lFile,'Cliper.bmp',), .t., oWnd,,,,,,,,, .t.)
#endif
oBmp:lTransparent := .t.
SetWindowLong( oBmp:hWnd, GWL_EXSTYLE, ;
nOr( GetWindowLong( oBmp:hWnd, GWL_EXSTYLE ), WS_EX_TRANSPARENT ) )
oWnd:SayBitmap(50, 20, oBmp)

Имею в сухом остатке: под прозрачной областью oBmp видно не Brush, а
пустую (серую) область

Как поправить ?


Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 1 [только новые]





Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 29.12.06 11:41. Заголовок: Re:


Pasha пишет:

 цитата:
под прозрачной областью oBmp видно не Brush, а
пустую (серую) область


Вот может натолкнет тебя на мысль:)) В самплесах есть примерчик с частично прозрачной картинкой.
Таким образом я и на Brush ставил. Newhelp называется.
Там сделано так:
ON PAINT ( PalBmpDraw( oDlg:hDC, 0, 0, oBmp2:hBitmap, 0, 0, 0, SRCPAINT ),;
PalBmpDraw( oDlg:hDC, 0, 0, oBmp1:hBitmap, 0, 0, 0, SRCAND ),;
где
#define SRCPAINT 15597702 // 0xEE0086
#define SRCAND 8913094



Спасибо: 0 
Цитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 605
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет