Ir para conteúdo

POWERED BY:

Arquivado

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

Kika_Epilética

Problemas com meu TrackBar

Recommended Posts

Bom dia galera do imaster !!

 

Estou fazendo um programa ImageCropping. Ele faz o seguinte :

Tenho uma imagem qualquer, dai eu seleciono a área que eu desejo recortar. A área

selecionada vai para uma picture box de visualização. Após todo esse processo salvo a

imagem recortada. Ele funciona perfeitamente, mas gostaria que a TrackBar funcionasse

para eu pode dar um zoom na imagem recortada. O problema é o seguinte...havia feito

esse programa em VB.Net, mas ele tem que funcionar em C#.Net... O método é o seguinte :

 

Método em VB :

Dim tempCnt As Boolean		
Dim bm_dest As Bitmap
Dim bm_source As Bitmap
Dim i As Int16 = 1

'método para o trackingBar
	Private Sub resizingTrackBar_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles resizingTrackBar.ValueChanged
		Try

			Dim scale_factor As Integer
			Dim img1 As New PictureBox

			scale_factor = Integer.Parse(resizingTrackBar.Value)
			img1.Image = cropBitmap
			bm_source = New Bitmap(img1.Image)
			bm_dest = New Bitmap( _
				CInt(bm_source.Width * scale_factor), _
				CInt(bm_source.Height * scale_factor))

			Dim gr_dest As Graphics = Graphics.FromImage(bm_dest)

			gr_dest.DrawImage(bm_source, 0, 0, bm_dest.Width + i, bm_dest.Height + i)

			PreviewPictureBox.Image = bm_dest		 'PreviewPictureBox é o nome da picture box de visualização

			tempCnt = True
		Catch ex As Exception

		End Try
	End Sub
#End Region

Método em C# :

 

//Declaração de variáveis
		bool tempCnt;			  
		Bitmap bm_dest;
		Bitmap bm_source;
		int i = 1;

//Método responsável pelo movimento do TrackBar e pelo aumento da imagem
		private void resizingTrackBar_ValueChanged(object sender, EventArgs e)
		{
			try
			{
				int scale_factor;
				PictureBox img1 = null;  

				scale_factor = resizingTrackBar.Value;
				img1.Image = cropBitmap;	  // cropBitmap é um objeto da classe Bitmap que recebe o width e o Heigt da imagem
				bm_source = new Bitmap(img1.Image);
				bm_dest = new Bitmap(bm_source.Width * scale_factor, bm_source.Height * scale_factor);

				Graphics gr_dest = Graphics.FromImage(bm_dest);
				gr_dest.DrawImage(bm_source, 0, 0, bm_dest.Width + i, bm_dest.Height + i);
				PreviewPictureBox.Image = bm_dest;
				tempCnt = true;
			}
			catch (Exception ex)
			{
				MessageBox.Show(ex.Message);
			}
		} // Fecha método resizingTrackBar_ValueChanged

Dá o seguinte erro quando eu movimento a seta do TrackBar : " Referência de objeto não definida para uma instância de um objeto".

 

Não sei o que pode ser isso !

 

Obrigada pela atenção !

 

Abraços. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Em qual linha do código deu erro. Poste a linha do código, para saber qual variável não esta sendo instanciada.

 

Abraços...

Olá Quintelab !

 

O que ocorre é o seguinte : O programa funciona perfeitamente, a TrackBar não influencia em nda...

O que acontece é o seguinte, quando eu movimento sua setinha para aumentar uma imagem,

dá a seguinte mensagem " Referência de objeto não definida para uma instância de um objeto" (devido

ao catch que eu fiz). O programa não para...não exibe uma linha com erro entendeu ?

Essa mensagem é exibida, clico em "ok" e o programa continua...

 

Por isso não tenho como indicar a linha do erro =/

 

Abraços.

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.