ALTERNAR IMAGEM DENTRO DE UMA PICTUREBOX
Boa noite caros Colegas,
Como o próprio tópico já diz, gostaria de alternar uma imagem dentro de um PictureBox.
Tenho essa imagem acima, resolução 32x128 onde tem os 4 estados do botão.
Quero ir alternando conforme os eventos no PictureBox. Click, MouseMove, MouseLeave
Obs.: Meu PictureBox está no tamanho 32x32, sendo que é exatamente 1/4 da imagem.
bom no vb6 é assim :
Picture=LoadPicture ([Ô]C:\VB program\Images\grape.gif[Ô]).
Picture=LoadPicture ([Ô]C:\VB program\Images\grape.gif[Ô]).
Luiz, carregar a imagem é tranquilo! Mas agradeço a disposição.
O que eu pretendo é, ao iniciar o sistema estar somente a primeira parte da imagem visÃvel.
Quando eu estiver com o mouse em cima do PictureBox aparecer somente a terceira parte da imagem...
E assim com outros eventos também.
O que eu pretendo é, ao iniciar o sistema estar somente a primeira parte da imagem visÃvel.
Quando eu estiver com o mouse em cima do PictureBox aparecer somente a terceira parte da imagem...
E assim com outros eventos também.
Amigão eu prometi a voce que ia ver isso né ?
ca estou, entao seguinte, com base em uma forma de cortar a imagem em modo de execução e catar os pedaços e tacar na picture consegui montar o seu rotacionador..
Segue SS
Veja se serve do jeito que eu fiz, ai tu pode criar uma DLL de uma picturebox que faça isso, bom tem muitas formas de fazer isso ficar mais facil e sei que voce conhece algumas.
Te passo a bola então, dê um grito qualquer coisa.. Abraços
ca estou, entao seguinte, com base em uma forma de cortar a imagem em modo de execução e catar os pedaços e tacar na picture consegui montar o seu rotacionador..
Imports System.IO
Public Class Form1
Private Shared Function cropImage(img As Image, cropArea As Rectangle) As Image
[ô]Cortar a Imagem em tempo Real
Dim bmpImage As New Bitmap(img)
Dim bmpCrop As Bitmap = bmpImage.Clone(cropArea, bmpImage.PixelFormat)
Return DirectCast(bmpCrop, Image)
End Function
Private Sub Form1_Load(sender As Object, e As System.EventArgs) Handles Me.Load
[ô]Eventos
Dim Secao As New Rectangle(New Point(0, 0), New Size(PictureBox1.Width, PictureBox1.Height))
PictureBox1.Image = cropImage(PictureBox2.Image, Secao)
End Sub
Private Sub PictureBox1_MouseDown(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseDown
[ô]Eventos
Dim Secao As New Rectangle(New Point(64, 0), New Size(PictureBox1.Width, PictureBox1.Height))
PictureBox1.Image = cropImage(PictureBox2.Image, Secao)
End Sub
Private Sub PictureBox1_MouseEnter(sender As Object, e As System.EventArgs) Handles PictureBox1.MouseEnter
[ô]Eventos
Dim Secao As New Rectangle(New Point(32, 0), New Size(PictureBox1.Width, PictureBox1.Height))
PictureBox1.Image = cropImage(PictureBox2.Image, Secao)
End Sub
Private Sub PictureBox1_MouseLeave(sender As Object, e As System.EventArgs) Handles PictureBox1.MouseLeave
[ô]Eventos
Dim Secao As New Rectangle(New Point(0, 0), New Size(PictureBox1.Width, PictureBox1.Height))
PictureBox1.Image = cropImage(PictureBox2.Image, Secao)
End Sub
Private Sub PictureBox1_MouseUp(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles PictureBox1.MouseUp
[ô]Eventos
Dim Secao As New Rectangle(New Point(96, 0), New Size(PictureBox1.Width, PictureBox1.Height))
PictureBox1.Image = cropImage(PictureBox2.Image, Secao)
End Sub
End Class
Segue SS
Veja se serve do jeito que eu fiz, ai tu pode criar uma DLL de uma picturebox que faça isso, bom tem muitas formas de fazer isso ficar mais facil e sei que voce conhece algumas.
Te passo a bola então, dê um grito qualquer coisa.. Abraços
Tinha que ser né! Sempre o mesmo!
Simplesmente Perfeito Rodrigo! 100% como eu precisava.
Criei um componente onde defino nas propriedades dele qual parte da imagem estará conforme os eventos no PictureBox e boa!
Eu só retirei o segundo PictureBox e recortei direto da própria imagem usando Image.FromFile.
Ficou simplesmente perfeito!
Hoje a noite vou dar uma ajeitada no código com mais calma e fazer os comentários nele.
Em seguida já encaminho para você esse componente.
Novamente venho a agradecer esse grande colaborador do VBMania que está sempre a disposição.
Quero ver como vou poder te recompensar por todas as suas ajudas já prestadas.
Abraço amigão!
Simplesmente Perfeito Rodrigo! 100% como eu precisava.
Criei um componente onde defino nas propriedades dele qual parte da imagem estará conforme os eventos no PictureBox e boa!
Eu só retirei o segundo PictureBox e recortei direto da própria imagem usando Image.FromFile.
Ficou simplesmente perfeito!
Hoje a noite vou dar uma ajeitada no código com mais calma e fazer os comentários nele.
Em seguida já encaminho para você esse componente.
Novamente venho a agradecer esse grande colaborador do VBMania que está sempre a disposição.
Quero ver como vou poder te recompensar por todas as suas ajudas já prestadas.
Abraço amigão!
Rapaz fico muito feliz em ajudar, as vezes isso fica rodando na minha cabeça dias e dias, hoje ao ler um tópico do vbmania tive um estalo e saiu isso =]
tua gratidão já me recompensa amigão.
Abraços e vamo que vamo, porque a vida não para pra esperar ninguem =]
tua gratidão já me recompensa amigão.
Abraços e vamo que vamo, porque a vida não para pra esperar ninguem =]
Ah, depois posta isso la no blog.. Abraços...
Beleza! Pode deixar!
Tópico encerrado , respostas não são mais permitidas