Método Region::GetRegionScans(constMatrix*,RectF*,INT*) (gdiplusheaders.h)
O método Region::GetRegionScans 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.
Sintaxe
Status GetRegionScans(
const Matrix *matrix,
RectF *rects,
INT *count
);
Parâmetros
matrix
Ponteiro para um objeto Matrix usado para transformar a região.
rects
Ponteiro para uma matriz de objetos RectF que recebe os retângulos.
count
Ponteiro para um INT que recebe um valor que indica o número de retângulos que se aproximam dessa região. O valor é válido mesmo se rects for um ponteiro NULL .
Retornar valor
Tipo: Status
Se o método for bem-sucedido, ele retornará Ok, que é um elemento da enumeração Status .
Se o método falhar, ele retornará um dos outros elementos da enumeração Status .
Comentários
O método Region::GetRegionScansCount pode ser usado primeiro para determinar o número de retângulos. Em seguida, você pode alocar um buffer com o tamanho correto e definir o parâmetro rects para apontar para o buffer.
Exemplos
O exemplo a seguir cria uma região de um caminho e obtém um conjunto de retângulos que se aproximam da região. Em seguida, o código desenha cada um dos retângulos.
VOID Example_GetRegionScansRectF(HDC hdc)
{
Graphics graphics(hdc);
SolidBrush solidBrush(Color(255, 255, 0, 0));
Pen pen(Color(255, 0, 0, 0));
GraphicsPath path;
Matrix matrix;
RectF* rects = NULL;
INT count = 0;
// Create a region from a path.
path.AddEllipse(10, 10, 50, 300);
Region pathRegion(&path);
graphics.FillRegion(&solidBrush, &pathRegion);
// Get the rectangles.
graphics.GetTransform(&matrix);
count = pathRegion.GetRegionScansCount(&matrix);
rects = (RectF*)malloc(count*sizeof(RectF));
pathRegion.GetRegionScans(&matrix, rects, &count);
// Draw the rectangles.
for(INT j = 0; j < count; ++j)
graphics.DrawRectangle(&pen, rects[j]);
free(rects);
}
Requisitos
Requisito | Valor |
---|---|
Cabeçalho | gdiplusheaders.h |