Compartilhar via


Funções de região (GDI+)

O Windows GDI+ expõe uma API simples que consiste em cerca de 600 funções, que são implementadas em Gdiplus.dll e declaradas em Gdiplusflat.h. As funções na API plana GDI+ são encapsuladas por uma coleção de cerca de 40 classes C++. É recomendável que você não chame diretamente as funções na API simples. Sempre que você fizer chamadas para GDI+, deverá fazer isso chamando os métodos e as funções fornecidos pelos wrappers C++. Os Serviços de Suporte a Produtos da Microsoft não fornecerão suporte para o código que chama a API simples diretamente. Para obter mais informações sobre como usar esses métodos wrapper, consulte API Simples GDI+.

As seguintes funções de API simples são encapsuladas pela classe C++ da região .

Funções de região e métodos wrapper correspondentes

Função simples Método Wrapper Comentários
GpStatus WINGDIPAPI GdipCreateRegion(GpRegion **region)
Região::Região()
Cria uma região infinita. Esse é o construtor padrão.
GpStatus WINGDIPAPI GdipCreateRegionRect(GDIPCONST GpRectF *rect, GpRegion **region)
Region::Region(IN const RectF& rect)
Cria uma região definida por um retângulo.
GpStatus WINGDIPAPI GdipCreateRegionRectI(GDIPCONST GpRect *rect, GpRegion **region)
Region::Region(IN const Rect& rect)
Cria uma região definida por um retângulo.
GpStatus WINGDIPAPI GdipCreateRegionPath(GpPath *path, GpRegion **region)
Region::Region(IN const GraphicsPath* path)
Cria uma região definida por um objeto GraphicsPath e tem um modo de preenchimento contido no objeto GraphicsPath.
GpStatus WINGDIPAPI GdipCreateRegionRgnData(GDIPCONST BYTE *regionData, INT size, GpRegion **region)
Region::Region(IN const BYTE* regionData, INT size)
Cria uma região definida pelos dados obtidos de outra região.
GpStatus WINGDIPAPI GdipCreateRegionHrgn(HRGN hRgn, GpRegion **region)
Region::Region(IN HRGN hRgn)
Cria uma região idêntica à região especificada por um identificador para uma região GDI.
GpStatus WINGDIPAPI GdipCloneRegion(GpRegion *region, GpRegion **cloneRegion)
Região* Região::Clone() const
Faz uma cópia desse objeto Region e retorna o endereço do novo objeto Region.
GpStatus WINGDIPAPI GdipDeleteRegion(GpRegion *region)
Região::~Região()
Libera recursos usados pelo objeto Region .
GpStatus WINGDIPAPI GdipSetInfinite(GpRegion *region)
Região de Status::MakeInfinite()
Atualizações essa região para uma região infinita.
GpStatus WINGDIPAPI GdipSetEmpty(GpRegion *region)
Região de status::MakeEmpty()
Atualizações essa região para uma região vazia. Em outras palavras, a região não ocupa espaço no dispositivo de exibição.
GpStatus WINGDIPAPI GdipCombineRegionRect(GpRegion *region, GDIPCONST GpRectF *rect, CombineMode combineMode)
Status Region::Intersect(IN const RectF& rect)
Atualizações essa região para a parte de si mesma que cruza o interior do retângulo especificado.
O parâmetro combineMode na função simples é um membro da enumeração CombineMode que especifica como a região e o retângulo são combinados.
GpStatus WINGDIPAPI GdipCombineRegionRectI(GpRegion *region, GDIPCONST GpRect *rect, CombineMode combineMode)
Status Region::Intersect(IN const Rect& rect)
Atualizações essa região para a parte de si mesma que cruza o interior do retângulo especificado.
O parâmetro combineMode na função simples é um membro da enumeração CombineMode que especifica como a região e o retângulo são combinados.
GpStatus WINGDIPAPI GdipCombineRegionPath(GpRegion *region, GpPath *path, CombineMode combineMode)
Status Region::Intersect(IN const GraphicsPath* path)
Atualizações essa região para a parte de si mesma que cruza o interior do caminho especificado.
O parâmetro combineMode na função simples é um membro da enumeração CombineMode que especifica como a região e o caminho são combinados.
GpStatus WINGDIPAPI GdipCombineRegionRegion(GpRegion *region, GpRegion *region2, CombineMode combineMode)
Region::Intersect(IN const Region* region)
Atualizações essa região para a parte de si mesma que cruza outra região.
O parâmetro combineMode na função simples é um membro da enumeração CombineMode que especifica como as regiões são combinadas.
GpStatus WINGDIPAPI GdipTranslateRegion(GpRegion *region, REAL dx, REAL dy)
Region::Translate(IN REAL dx, IN REAL dy)
Desloca essa região por quantidades especificadas nas direções horizontal e vertical.
GpStatus WINGDIPAPI GdipTranslateRegionI(GpRegion *region, INT dx, INT dy)
Região de status::Translate(INT dx, INT dy)
Desloca essa região por quantidades especificadas nas direções horizontal e vertical.
GpStatus WINGDIPAPI GdipTransformRegion(GpRegion *region, GpMatrix *matrix)
Matriz Region::Transform(IN const Matrix*)
Transforma essa região multiplicando cada um de seus pontos de dados por uma matriz especificada.
GpStatus WINGDIPAPI GdipGetRegionBounds(GpRegion *region, GpGraphics *graphics, GpRectF *rect)
Status Region::GetBounds(OUT RectF* rect, IN const Graphics* g) const
Obtém um retângulo que inclui essa região.
GpStatus WINGDIPAPI GdipGetRegionBoundsI(GpRegion *region, GpGraphics *graphics, GpRect *rect)
Status Region::GetBounds(OUT Rect* rect, IN const Graphics* g) const
Obtém um retângulo que inclui essa região.
GpStatus WINGDIPAPI GdipGetRegionHRgn(GpRegion *region, GpGraphics *graphics, HRGN *hRgn)
HrGN Region::GetHRGN(IN const Graphics* g) const
Cria uma região GDI dessa região.
GpStatus WINGDIPAPI GdipIsEmptyRegion(GpRegion *region, GpGraphics *graphics, BOOL *result)
Bool Region::IsEmpty(IN const Graphics *g)const
Determina se essa região está vazia.
GpStatus WINGDIPAPI GdipIsInfiniteRegion(GpRegion *region, GpGraphics *graphics, BOOL *result)
Bool Region::IsInfinite(IN const Graphics *g)const
Determina se essa região é infinita.
GpStatus WINGDIPAPI GdipIsEqualRegion(GpRegion *region, GpRegion *region2, GpGraphics *graphics, BOOL *result)
BOOL Region::Equals(IN const Region* region, IN const Graphics* g) const
Determina se essa região é igual a uma região especificada.
GpStatus WINGDIPAPI GdipGetRegionDataSize(GpRegion *region, UINT * bufferSize)
UINT Region::GetDataSize() const
Obtém o número de bytes de dados que descrevem essa região.
GpStatus WINGDIPAPI GdipGetRegionData(GpRegion *region, BYTE * buffer, UINT bufferSize, UINT * sizeFilled)
Status Region::GetData(OUT BYTE* buffer, IN UINT bufferSize, OUT UINT* sizeFilled) const
Obtém dados que descrevem essa região.
GpStatus WINGDIPAPI GdipIsVisibleRegionPoint(GpRegion *region, REAL x, REAL y, GpGraphics *graphics, BOOL *result)
BOOL Region::IsVisible(IN const PointF& point, IN const Graphics* g) const
Determina se um ponto está dentro dessa região.
Os parâmetros x e y na função simples especificam as coordenadas x e y de um ponto que corresponde ao parâmetro point no método wrapper.
GpStatus WINGDIPAPI GdipIsVisibleRegionPointI(GpRegion *region, INT x, INT y, GpGraphics *graphics, BOOL *result)
Bool Region::IsVisible(IN const Point& point, IN const Graphics* g) const
Determina se um ponto está dentro dessa região.
Os parâmetros x e y na função simples especificam as coordenadas x e y de um ponto que corresponde ao parâmetro point no método wrapper.
GpStatus WINGDIPAPI GdipIsVisibleRegionRect(GpRegion *region, REAL x, REAL y, REAL width, REAL height, GpGraphics *graphics, BOOL *result)
Bool Region::IsVisible(IN const RectF& rect, IN const Graphics* g) const
Determina se um retângulo cruza essa região.
Os parâmetros x, y, width e height na função simples especificam um retângulo que corresponde ao parâmetro rect no método wrapper.
GpStatus WINGDIPAPI GdipIsVisibleRegionRectI(GpRegion *region, INT x, INT y, LARGURA INT, altura INT, GpGraphics *graphics, BOOL *result)
Bool Region::IsVisible(IN const Rect rect& , IN const Graphics* g) const
Determina se um retângulo cruza essa região.
Os parâmetros x, y, width e height na função simples especificam um retângulo que corresponde ao parâmetro rect no método wrapper.
GpStatus WINGDIPAPI GdipGetRegionScansCount(GpRegion *region, UINT* count, GpMatrix* matrix)
UINT Region::GetRegionScansCount(IN const Matrix* matrix* const) const
Obtém o número de retângulos que se aproximam dessa região. A região é transformada por uma matriz especificada antes que os retângulos sejam calculados.
GpStatus WINGDIPAPI GdipGetRegionScans(GpRegion *region, GpRectF* rects, INT* count, GpMatrix* matrix)
Status Region::GetRegionScans( IN const Matrix* matrix, OUT RectF* rects, IN OUT INT* count) const
Obtém uma matriz de retângulos que se aproximam dessa região. A região é transformada por uma matriz especificada antes que os retângulos sejam calculados.
GpStatus WINGDIPAPI GdipGetRegionScansI(GpRegion *region, GpRect* rects, INT* count, GpMatrix* matrix)
Status Region::GetRegionScans( IN const Matrix* matrix, OUT Rect* rects, IN OUT INT* count) const
Obtém uma matriz de retângulos que se aproximam dessa região. A região é transformada por uma matriz especificada antes que os retângulos sejam calculados.