none
Imprimir pictureBox muy grande RRS feed

  • Pregunta

  • Hola, buenas, quiero imprimir un pictureBox y uso un PrintPreviewDialog, cuando muestro la vista previa, la imagen sale cortada si el pictureBox es muy grande (osea la imagen no alcanza en la hoja)

    Uso este codigo

    private void button7_Click_1(object sender, EventArgs e)
            {
                
                
                    printDocument1.OriginAtMargins = false;
                    printDocument1.DefaultPageSettings.Landscape = true;
                    printDocument1.DocumentName = textBox2.Text;
                    printPreviewDialog1.Document = printDocument1;
                    printPreviewDialog1.ShowDialog();
              
            }
    
            private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
            {
                if (pictureBox3.Image == null)
                {
                    e.Graphics.DrawImage(pictureBox4.Image, 0, 0);
                }
                else
                {
                    e.Graphics.DrawImage(pictureBox3.Image, 0, 0);
                }
            }

    Existe una forma de que si la imagen es muy grande se imprima en demas hojas extras? o que si la imagen es muy grande se adapte a la hoja si quedar cortada(ya sea en horizontal o vertical)?

    De antemano gracias por la ayuda.

    Saludos

    jueves, 11 de septiembre de 2014 2:47

Respuestas

  • El método DrawImage tiene un montón de sobrecargas. Entre ellas hay varias que te permiten especificar el tamaño en el que se desea dibujar la imagen. Por ejemplo, una de las sobrecargas toma como segundo parámetro un objeto de tipo Rectangle que especifica el tamaño del rectángulo en el que se dibujará la imagen, y automáticamente la redimensiona para que encaje en el rectángulo. Evidentemente, lo que tendrías que hacer es pasar en ese rectángulo el tamaño de la parte de la página en la que quieres pintar tu imagen.

    http://msdn.microsoft.com/en-us/library/yws82c40(v=vs.110).aspx

    jueves, 11 de septiembre de 2014 5:50
    Moderador