USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Foto na Picturebox no tamanho da Picture
Marcelo
não registrado
ENUNCIADA !
Postada em 04/06/2011 09:38 hs   
Gente,

Eu já pesquisei muito na internet uma solução para colocar uma imagem em uma Picturebox que preencha o tamanho total da picture sem deformar a imagem.

Sei que usando o controle IMAGE isso é possível.
Acontece que tem que ser mesmo Picture devido aos recursos gráficos de efeitos que o controle IMAGE não oferece.
Também não adianta simular o Strech pois um rosto em tela cheia ou uma foto retrato na picture em paisagem vai ficar deformada

Portanto! Não acredito que com todo o poder que tem uma Picture não seja possível colocar carregar uma Imagem na proporção exata do tamanho da picture.
As vezes tela cheia ou outros tamanhos.

Alguém sabe de alguma solução?

   
Tales
não registrado
ENUNCIADA !
Postada em 04/06/2011 11:33 hs   
Para mim tem que editar a foto e salvar do tamanho que quiser.Eu uso este artifício com um
editor de imagem.Também uso o visualizador de imagem do Windows.
   
Marcelo
não registrado
Postada em 05/06/2011 09:20 hs   
Tales obrigado pelo retorno.

Mas isso não seria uma solução.
Neste caso eu já uso o controle IMAGE que enquadra a imagem na Picture no final do processo sem precisar de editar a imagem.

O que me deixa intrigado é o fato de um PictureBox com tantos recursos gráficos não ter o principal que é exatamente carregar uma imagem e dimensiona-la dentro da porpoção da largura e altura da picture.


Mas eu preciso mesmo usar somente o controle PictureBox, a acredito que exista esta solução, porém ainda não descobri.

Pensei em carregar a imagem no contole Image já ajustado no mesmo tamanho e depois a Picture redesenha do controle IMAGE para o controle PictureBox, mas estou apanhando neste processo.

Alguém mais teria outra soluçao?
     
Treze
Pontos: 2843 Pontos: 2843
SÃO VICENTE
SP - BRASIL
ENUNCIADA !
Postada em 05/06/2011 12:40 hs            
tente este código xará



Function RedimPicture(Pict As PictureBox, Caminho As String)
'criei uma picturebox temporaria
Dim pic_temp As PictureBox
Set pic_temp = Picture1
pic_temp.AutoRedraw = True
pic_temp.Picture = LoadPicture(Caminho)
pic_temp.PaintPicture pic_temp.Picture, 0, 0, Pict.Width, Pict.Height
Pict.Picture = pic_temp.Image
End Function

para usar

Private Sub Form_Load()
RedimPicture Picture1, "C:suaimagem.jpg"
End Sub
   
Marcelo
não registrado
Postada em 06/06/2011 09:17 hs   
Treze, valeu pela tentativa.

mas a sua função faz a mesma coisa que simular o Strech do IMAGE.
A imagem fica esticada da mesma forma.
se a picture tiver uma largura bem maior que a imagem original, ficará deformada.

Eu até consegui usando o controle IMAGE dentro da Picture, no entanto no final do processo da transição do slide eu limpo a Picture e mostro o controle IMAGE com a imagem enquadrada.
Aconteçe nesse processo pisca ao limpar a Picture e mostrar a Imagem.
Se a Picture já estivesse com o tamanho normal, isso não aconteceria, por isso preciso mesmno de enquadrar a imagem direto na picturebox sem distorção.

     
Marcelo
não registrado
Postada em 06/06/2011 10:41 hs   
Agora falta bem pouco, pois consegui enquadrar a picturebox usando mesmo  o controle image.
Mas a imagem fica no canto e no topo.
Tentei centralizar a imagem
pic1.PaintPicture pic1, (pic1.ScaleWidth - PicIMG.Width) / 2, (pic1.ScaleHeight - PicIMG.Height) / 2, PicIMG.Width, PicIMG.Height


Sendo a Pic1 a Picturebox e PicIMG a IMAGE

Fica centralizado no entanto mantem a imagem de fundo atrás da imagem centralizada.

Não estou ainda conseguindo limpar a imagem nas posição left = 0 e top = 0 e depois centralizar.

Alguém sabe de outro metódo para centralizar a imagem redesenhando a picture novamente limpando todo o contéudo?

     
Página(s): 1/2      PRÓXIMA »


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página