CopyRect

A função CopyRect copia as coordenadas de um retângulo em outro.

BOOL CopyRect(
LPRECT lprcDst, // aponta para a estrutura do retângulo de destino
CONST RECT *lprcSrc // aponta para a estrutura com o retângulo inicial
); 

O parâmetro lprcDst aponta para a estrutura RECT que recebe as coordenada lógicas do retângulo inicial e o parâmetro lprcSrc aponta para a estrutura RECT à qual pertencem as coordenadas que estão sendo copiadas.

Se a função lograr êxito, produzirá um valor de retorno diferente de zero; se fracassar, o valor de retorno será zero. Para obter informações de erro estendidas, use GetLastError.

TCanvas::CopyRect

Copia partes de uma imagem de um a outro canvas.

void __fastcall CopyRect(const Windows::TRect &Dest, TCanvas* Canvas, 
                          const Windows::TRect &Source);

Use CopyRect para transferir parte da imagem de outro canvas para a imagem do objeto TCanvas. Dest especifica o retângulo no canvas onde a imagem inicial será copiada. O parâmetro Canvas especifica a tela com a imagem fonte. Source especifica um retângulo que limita a porção de tela fonte que será copiada.

A porção da tela inicial é copiada usando o modo especificado por CopyMode.

O exemplo a seguir ilustra como usufruir a diferença entre CopyRect e BrushCopy. O bitmap gráfico “meu_desenho.bmp” é carregado dentro de Bitmap e exibido no Canvas de Form1. BrushCopy substitui a cor negra no gráfico com o brush de canvas, enquanto CopyRect mantém a cor intacta.

void __fastcall TForm1::Button1Click(TObject *Sender)
{
Form1->WindowState = wsMaximized; // amplia a janela
Graphics::TBitmap *Bitmap; // declara Bitmap
TRect ARect, A2Rect; // declara
ARect = Rect(30, 30, 480, 300); // inicializa ARect determinado as coordenadas
A2Rect = Rect(30, 310, 480, 570); // inicializa o retângulo A2Rect
Bitmap = new Graphics::TBitmap; // alocação dinâmica de memória para Bitmap
Bitmap->LoadFromFile("c:\\meu_desenho.bmp"); // carrega o arquivo especificado

// BrushCopy carregará o desenho substituindo as cores negras do mesmo
Form1->Canvas->BrushCopy(ARect, Bitmap, ARect, clBlack);

// CopyRect carregará o arquivo sem alterá-lo
Form1->Canvas->CopyRect(A2Rect, Bitmap->Canvas, ARect);

// desaloca a memória dinâmica
delete Bitmap;

}

anterior

índice

próxima


HOME || MAPA DO SITE || CURSOS || TUTORIAIS || LINKS || FORUM || CONTATO