Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Заливка поможите plz Добавлено: 04.05.04 14:36  

Автор вопроса:  Миx

Как сделать обыкновенную заливку в любой области

Пробовал функцию flodfill или extflodfill обе глючат.

Ответить

  Ответы Всего ответов: 6  

Номер ответа: 1
Автор ответа:
 cresta



Вопросов: 117
Ответов: 1538
 Профиль | | #1 Добавлено: 04.05.04 15:39

FillRect попробуй

Ответить

Номер ответа: 2
Автор ответа:
 Миx



Вопросов: 1
Ответов: 2
 Профиль | | #2 Добавлено: 04.05.04 15:43

по подробнее о fillrect'е - синтаксис итд

Ответить

Номер ответа: 3
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #3
Добавлено: 04.05.04 16:54

Взято из справочника Русского проекта:

Функция FillRect

Declare Function FillRect Lib "user32" (ByVal hdc As Long, lpRect As RECT, ByVal hBrush As Long) As Long

Платформа: Win 95/98, Win NT

FillRect заполняет прямоугольную область на устройстве, используя указанную кисть. Граница прямоугольной области не рисуется, и основание и правые грани данного прямоугольника не заполняются (они не являются частью внутренней области прямоугольника). Обратите внимание, что эта функция использует кисть, передаваемой функции, так что нет необходимости использовать SelectObject для выбора устройством кисти. В случае успеха функция возвращает 1,в случае ошибки функция возвращает 0.

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

lpRect
Координаты прямоугольной области для заполнения.

hBrush
Дескриптор кисти для заполнения прямоугольной области.

Пример:

' Используем синюю диагонально - перекрестную 

'заштрихованную кисть, чтобы заполнить прямоугольную

' область на окне Form1. Прямоугольная область имеет

'координаты (25,35) - (200,170).

Dim hbrush As Long ' Получаем дескриптор синей заштрихованной кисти

Dim winrect As RECT ' Прямоугольная область для заполнения

Dim retval As Long ' возвращаемое значение

' устанавливаем координаты прямоугольника r

retval = SetRect(winrect, 25, 35, 200, 170) ' теперь winrect = (25,35)-(200,170)

' создаем синюю диагонально - перекрестную заштрихованную кисть

hbrush = CreateHatchBrush(HS_DIAGCROSS, RGB(0, 0, 255))

' Заполним желаемую прямоугольную область

retval = FillRect(Form1.hDC, winrect, hbrush)

' Удалим кисть, которую мы создавали, чтобы освободить ресурсы

retval = DeleteObject(hbrush)

Схожие функции: FillRgn, FrameRect

Ответить

Номер ответа: 4
Автор ответа:
 Миx



Вопросов: 1
Ответов: 2
 Профиль | | #4 Добавлено: 04.05.04 19:49

Мне нужна заливкат замнкнутой области (как в paint)и так чтобы эта функция работала в Windows Me, как не странно ни где я такую в инете не видел

Ответить

Номер ответа: 5
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #5
Добавлено: 04.05.04 23:52

Ну тогда вперед! просматривать пиксель и в зависимости от его цвета, менять цвет его и последующих аль нет... те не функция нужна, алгоритм тебе необходим... А если как в паинте - дык я несколько таких редакторов изображений на VB видел...

Ответить

Номер ответа: 6
Автор ответа:
 crackoff



ICQ: 156165990 

Вопросов: 12
Ответов: 229
 Профиль | | #6 Добавлено: 05.05.04 14:28

SDK:

FloodFill

The FloodFill function fills an area of the display surface with the current brush. The area is assumed to be bounded as specified by the crFill parameter.

Note  The FloodFill function is included only for compatibility with 16-bit versions of Windows. Applications should use the ExtFloodFill function with FLOODFILLBORDER specified.

BOOL FloodFill(  HDC hdc,          // handle to DC  int nXStart,      // starting x-coordinate  int nYStart,      // starting y-coordinate  COLORREF crFill   // fill color);

Parameters

hdc
[in] Handle to a device context.
nXStart
[in] Specifies the x-coordinate, in logical units, of the point where filling is to start.
nYStart
[in] Specifies the y-coordinate, in logical units, of the point where filling is to start.
crFill
[in] Specifies the color of the boundary or the area to be filled. To create a COLORREF color value, use the RGB macro.

Return Values

If the function succeeds, the return value is nonzero.

If the function fails, the return value is zero.

Windows NT/2000/XP: To get extended error information, call GetLastError.

Remarks

The following are reasons this function might fail:

  • The fill could not be completed.
  • The given point has the boundary color specified by the crFill parameter.
  • The given point lies outside the current clipping region—that is, it is not visible on the device.

Requirements

  Windows NT/2000/XP: Included in Windows NT 3.1 and later.
  Windows 95/98/Me: Included in Windows 95 and later.
  Header: Declared in Wingdi.h; include Windows.h.
  Library: Use Gdi32.lib.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам