TImage com Bordas arredondadas

Delphi

27/02/2012

Bem eu sou novo aqui e gostaria de saber se tem alguma forma de deixar um Timage com as bordas arredondadas no delphi 7;
Arthur Scarpelli

Arthur Scarpelli

Curtidas 0

Respostas

Joel Rodrigues

Joel Rodrigues

27/02/2012

Bem vindo ao fórum.
Bem, eu particularmente nunca vi nada do tipo, mas caso seja uma situação específica, você pode fazer a imagem .PNG TRANSPARENTE e já com as bordas arredondadas.

Boa sorte.
GOSTEI 0
Arthur Scarpelli

Arthur Scarpelli

27/02/2012

Bem isso não posso usar pelo fato de que o usuário possa carregar essa imagem no sistema,essa imagem teria que ser exibida com as bordas arredondadas;
GOSTEI 0
Joel Rodrigues

Joel Rodrigues

27/02/2012

Ok, vamos tentar.
Ponha o TImage com Align=alClient dentro de um TPanel (com as dimensões desejadas).
No evento onShow do form (ou outro de sua preferência, mas que seja executado logo que a tela abrir) ponha o seguinte código:

var
rgn: HRGN;
dc : HDC;
begin
rgn := CreateRoundRectRgn(0, 0, Image1.Width, Image1.Height, 20, 20);
dc := GetDC(Pnel1.Handle);
SetWindowRgn(Panel1.Handle, rgn, true);
ReleaseDC(Panel1.Handle, dc);
DeleteObject(rgn);
end;

Chamei a imagem de Image1 e o painel de Panel1.
Para aumentar o diminuir o arco das bordas, altere os dois últimos parâmetros do método CreateRoundRectRgn.

Teste e boa sorte.
GOSTEI 0
Arthur Scarpelli

Arthur Scarpelli

27/02/2012

Muito obrigado exatamente o que eu queria;
Valeu pela ajuda mesmo,muito bom esse fórum;
GOSTEI 0
Arthur Scarpelli

Arthur Scarpelli

27/02/2012

Funciona ate com imagem de fundo
GOSTEI 0
Joel Rodrigues

Joel Rodrigues

27/02/2012

Que bom que serviu.

Boa sorte.
GOSTEI 0
POSTAR