Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Заливка (VB6 + API)

1.9K
31 марта 2004 года
Putch
64 / / 22.02.2003
Значт так
Допустим имею я hDC ну к примеру от пикчурбокса
и мне надо залить пикчурбокс серобурмалиновым цветом причем сделать это не по пикселям а максимально быстро я мучался с функцией FloodFill во всех ее вариантах но с ней у меня ничего не вышло
Помоги чесной народ. С графикой не разу не приходилось работать вплотную
258
31 марта 2004 года
SergeySV
1.5K / / 19.03.2003
Сделай через FillRect, эта функция удобна тем, что для нее даже не нужно предварительно выбирать кисть в контексте устройства (hdc)

Код:
' объявления
'------------
Private Type RECT
    Left As Long
    Top As Long
    Right As Long
    Bottom As Long
End Type

Private Declare Function CreateSolidBrush Lib "gdi32" (ByVal crColor As Long) As Long
Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
Private Declare Function FillRect Lib "user32" (ByVal hdc As Long, lpRect As RECT, ByVal hBrush As Long) As Long

Dim rec As RECT
Dim hBrush As Long
Dim rgbColor As Long

' код
'---------

' заполн. RECT
With rec
  Left = 0
  Top = 0
  Right = ...
  Bottom = ...
End with

' выбираем цвет
rgbColor= RGB(0, 255, 0)

' создаем кисть
hBrush = CreateSolidBrush()

' заливаем hdc кистью hBrush
FillRect(hdc, rec, hBrush)

' удаляем кисть
DeleteObject(hBrush)


Опять же, про рисование с помощью GDI очень хорошо описано у Петзольда с готовыми примерами прям. http://anatolix.naumen.com/win32books.htm
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог