Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Vctormendes

[Resolvido] Vb.net Cortar uma imagem

Recommended Posts

Ola!!!

 

Estou a fazer um puzzle em VB.net contudo não consigo recortar a imagem automaticamente, isto é, a partir de uma imagem, fazer 9 imagens cada uma com um pedaço diferente da original. Já tentei varias coisas mas não consegui. Se alguém conseguir arranjar o código para fazer isso agradecia.Eu quero que o jogo fique com a seguinte forma photo.php?fbid=207688865911661&set=a.194052240608657.63890.100000116467839&theater

Agradecia que colocassem o código num sub-programa para que me facilite o trabalho.

 

Obrigado pela atenção

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola!!!

 

Estou a fazer um puzzle em VB.net contudo não consigo recortar a imagem automaticamente, isto é, a partir de uma imagem, fazer 9 imagens cada uma com um pedaço diferente da original. Já tentei varias coisas mas não consegui. Se alguém conseguir arranjar o código para fazer isso agradecia.Eu quero que o jogo fique com a seguinte forma photo.php?fbid=207688865911661&set=a.194052240608657.63890.100000116467839&theater

Agradecia que colocassem o código num sub-programa para que me facilite o trabalho.

 

Obrigado pela atenção

 

 

Ja tenho a resolução

 

se quiserem têm aqui o código

  Private Sub ImportarNovaImagem2ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ImportarNovaImagem2ToolStripMenuItem.Click
       On Error GoTo trata_erro
       Dim fdlg As OpenFileDialog = New OpenFileDialog()
       fdlg.Title = "Imagens"
       fdlg.InitialDirectory = "C:\Users\magrinho\Documents\Desktop"
       fdlg.Filter = "All files (*.*)|*.*|All files (*.*)|*.*"
       fdlg.FilterIndex = 2
       fdlg.RestoreDirectory = True
       If fdlg.ShowDialog() = DialogResult.OK Then
           Picnorm.Image = Image.FromFile(fdlg.FileName)
           Picimg.Image = Image.FromFile(fdlg.FileName)
       End If
trata_erro:
       If Err.Number = 7 Then
           MsgBox("Só Imagens", , Err.Number)
       Else
           Dim imagem As Bitmap = Picimg.Image
           but1.Image = CropBitmap(imagem, 1, 1, (Picnorm.Size.Width / 3), (Picnorm.Size.Height / 3))
           but2.Image = CropBitmap(imagem, (1 + (Picnorm.Size.Width / 3)), 1, (Picnorm.Size.Width / 3), (Picnorm.Size.Height / 3))
           but3.Image = CropBitmap(imagem, (1 + (Picnorm.Size.Width / 3) + (Picnorm.Size.Width / 3) - 3), 1, (Picnorm.Size.Width / 3), (Picnorm.Size.Height / 3))
           but4.Image = CropBitmap(imagem, 1, (1 + (Picnorm.Size.Height / 3)), (Picnorm.Size.Width / 3), (Picnorm.Size.Height / 3))
           but5.Image = CropBitmap(imagem, (1 + (Picnorm.Size.Width / 3)), (1 + (Picnorm.Size.Height / 3)), (Picnorm.Size.Width / 3), (Picnorm.Size.Height / 3))
           but6.Image = CropBitmap(imagem, (1 + (Picnorm.Size.Width / 3) + (Picnorm.Size.Width / 3) - 3), (1 + (Picnorm.Size.Height / 3)), (Picnorm.Size.Width / 3), (Picnorm.Size.Height / 3))
           but7.Image = CropBitmap(imagem, 1, (1 + (Picnorm.Size.Height / 3) + (Picnorm.Size.Height / 3) - 3), (Picnorm.Size.Width / 3), (Picnorm.Size.Height / 3))
           but8.Image = CropBitmap(imagem, (1 + (Picnorm.Size.Width / 3)), (1 + (Picnorm.Size.Height / 3) + (Picnorm.Size.Height / 3) - 3), (Picnorm.Size.Width / 3), (Picnorm.Size.Height / 3))
           butinv.Image = CropBitmap(imagem, (1 + (Picnorm.Size.Width / 3) + (Picnorm.Size.Width / 3) - 3), (1 + (Picnorm.Size.Height / 3) + (Picnorm.Size.Height / 3) - 3), (Picnorm.Size.Width / 3), (Picnorm.Size.Height / 3))
       End If
   End Sub
   Private Function CropBitmap(ByRef bmp As Bitmap, ByVal esq As Integer, ByVal dir As Integer, ByVal lar As Integer, ByVal alt As Integer) As Bitmap
       Dim rect As New Rectangle(esq, dir, lar, alt)
       Dim copia As Bitmap = bmp.Clone(rect, bmp.PixelFormat)
       Return copia
   End Function

 

 

brigadoo

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.