Usuário com melhor resposta
Imprimir um PictureBox

Pergunta
-
Olá a todos, usando VB no Visual Studio, abri um formulário e nele colei um PictureBox1, encima deste PictureBox1 colei outro PictureBox2. O PictureBox2 pintei o seu interior de preto fazendo PictureBox2.BackColor=Color.Black, agora quero imprimir somente este PictureBox2. Usei o ícone da impressora com ToolStrip e agora gostaria de saber qual a melhor rotina para imprimir o PictureBox2. Alguém pode me dar uma luz?
Grato/Durval Jr.
Respostas
-
Bom dia Durval Teixeira,
Obrigado pela participação no Fórum MSDN.
Tente o seguinte:
Dim WithEvents printDoc As New Printing.PrintDocument() Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click printDoc.Print() End Sub Private Sub PrintImage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles printDoc.PrintPage e.Graphics.DrawImage(PictureBox2.Image, e.MarginBounds.Left, e.MarginBounds.Top) End Sub
Atenciosamente,Robson William Silva
Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita
MSDN Community Support
Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.
- Marcado como Resposta Durval Teixeira quinta-feira, 29 de setembro de 2016 03:09
-
Robson, muito obrigado por me dar esta força.
A rotina que você me passou está gerando o seguinte erro na linha abaixo:
e.Graphics.DrawImage(PictureBox2.Image, e.MarginBounds.Left, e.MarginBounds.Top)
tipo de erro: ArgumentNullException was unhandled
Sei que isso deve ser muito simples de resolver mas quando ainda não dominamos quase nada, ficamos num escuro total.
Grato por enquanto.
- Marcado como Resposta Durval Teixeira quinta-feira, 29 de setembro de 2016 04:03
-
Olá,
verifique se não há algum argumento com o valor Null sendo passado para o método DrawImage.
Atenciosamente,
Robson William Silva
Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita
MSDN Community Support
Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.
- Marcado como Resposta Durval Teixeira quinta-feira, 29 de setembro de 2016 03:08
-
Robson, inseri uma imagem no PictureBox2 e ai deu certo, imprimiu a imagem inserida. Por falta dessa imagem realmente o argumento era considerado como Null.
Mas talvez por falta de melhor explicação ao pedir esta instrução é que ainda não cheguei onde queria. Apesar de estar usando um PictureBox eu não quero imprimir uma imagem, eu quero imprimir só o próprio PictureBox2 pintado de preto. Então a impressão seria apenas um pequeno retângulo preto.
Aproveitando o embalo porque também não saberia como fazer, este PictureBox2 terá que ter um endereço (XY) e seu tamanho é bem reduzido seu size é 15;9
Obrigado amigo./Durval
- Marcado como Resposta Durval Teixeira quinta-feira, 29 de setembro de 2016 19:37
Todas as Respostas
-
Bom dia Durval Teixeira,
Obrigado pela participação no Fórum MSDN.
Tente o seguinte:
Dim WithEvents printDoc As New Printing.PrintDocument() Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click printDoc.Print() End Sub Private Sub PrintImage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles printDoc.PrintPage e.Graphics.DrawImage(PictureBox2.Image, e.MarginBounds.Left, e.MarginBounds.Top) End Sub
Atenciosamente,Robson William Silva
Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita
MSDN Community Support
Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.
- Marcado como Resposta Durval Teixeira quinta-feira, 29 de setembro de 2016 03:09
-
Robson, muito obrigado por me dar esta força.
A rotina que você me passou está gerando o seguinte erro na linha abaixo:
e.Graphics.DrawImage(PictureBox2.Image, e.MarginBounds.Left, e.MarginBounds.Top)
tipo de erro: ArgumentNullException was unhandled
Sei que isso deve ser muito simples de resolver mas quando ainda não dominamos quase nada, ficamos num escuro total.
Grato por enquanto.
- Marcado como Resposta Durval Teixeira quinta-feira, 29 de setembro de 2016 04:03
-
Olá,
verifique se não há algum argumento com o valor Null sendo passado para o método DrawImage.
Atenciosamente,
Robson William Silva
Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita
MSDN Community Support
Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.
- Marcado como Resposta Durval Teixeira quinta-feira, 29 de setembro de 2016 03:08
-
Robson, inseri uma imagem no PictureBox2 e ai deu certo, imprimiu a imagem inserida. Por falta dessa imagem realmente o argumento era considerado como Null.
Mas talvez por falta de melhor explicação ao pedir esta instrução é que ainda não cheguei onde queria. Apesar de estar usando um PictureBox eu não quero imprimir uma imagem, eu quero imprimir só o próprio PictureBox2 pintado de preto. Então a impressão seria apenas um pequeno retângulo preto.
Aproveitando o embalo porque também não saberia como fazer, este PictureBox2 terá que ter um endereço (XY) e seu tamanho é bem reduzido seu size é 15;9
Obrigado amigo./Durval
- Marcado como Resposta Durval Teixeira quinta-feira, 29 de setembro de 2016 19:37