Jump to content

Imagem Gravada nem sempre está completa


Chamuanza
 Share

Recommended Posts

Um Bem Aja a Todos

Estou a utilizar este código para gravar uma imagem do FORM. Sucede que nem sempre a imagem fica bem gravada ou seja nítida.

Por vezes apresenta falhas

Será que me falta algum código ou procedimento para evitar esta situação?

Obrigado desde já pela atenção

//
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
	Dim gfxscreen As Graphics
	Dim bmpscreen As Bitmap

	If PictureBox2.Visible = False Then
		MsgBox("Falta Rubrica", MsgBoxStyle.Information, "Colocar Assinatura")
		Exit Sub
	ElseIf DataVisivel = False Then
		MsgBox("Falta Colocar a Data", MsgBoxStyle.Information, "Colocar Data")
		Exit Sub
	End If

	'Muda o foco para não aparecer no print
	lblLegenda.Focus()
	'Esconde o calendario e botões
	Button3.Visible = False
	lblInicioTurno.Visible = False
	MonthCalendar1.Visible = False
	Button2.Visible = False
	btnPrintar.Visible = False
	Button1.Visible = False
	Button4.Visible = False
	MenuStrip1.Visible = False
	VerCalendario = True

	Dim saveFileDialog1 As New SaveFileDialog()
	saveFileDialog1.Title = "Salvar Imagem em Ficheiro"
	saveFileDialog1.Filter = "JPeg Image|*.jpg|Bitmap Image|*.bmp|Gif Image|*.gif"
	saveFileDialog1.ShowDialog()

	' If the file name is not an empty string open it for saving.
	If saveFileDialog1.FileName <> Nothing Then
		bmpscreen = New Bitmap(Me.Size.Width, Me.Size.Height, PixelFormat.Format32bppArgb)
		gfxscreen = Graphics.FromImage(bmpscreen)
		gfxscreen.CopyFromScreen(Me.Location.X, Me.Location.Y, 0, 0, Me.Size, CopyPixelOperation.SourceCopy)
		bmpscreen.Save(saveFileDialog1.FileName, ImageFormat.Jpeg)
	End If
End Sub
Link to comment
Share on other sites

Olá He

Obrigado pela atenção

A falta do dispose não é por esquecimento mas por falta de bases.

Penso que terei de colocar assim:

//
' If the file name is not an empty string open it for saving.
    If saveFileDialog1.FileName <> Nothing Then
	    bmpscreen = New Bitmap(Me.Size.Width, Me.Size.Height, PixelFormat.Format32bppArgb)
	    gfxscreen = Graphics.FromImage(bmpscreen)
	    gfxscreen.CopyFromScreen(Me.Location.X, Me.Location.Y, 0, 0, Me.Size, CopyPixelOperation.SourceCopy)
	    bmpscreen.Save(saveFileDialog1.FileName, ImageFormat.Jpeg)
	    gfxscreen.Dispose()
	    bmpscreen.Dispose()
    End If

No entanto o que eu pretendia de facto era transformar a imagem do Form em PDF duma maneira directa não passando por jpg ou png.

É possível?

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.