Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/06/2009, 18:09
chcma
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 20 años, 11 meses
Puntos: 7
GDI+ y PrintDocument

Buenas noches foreros !!!

vereis, tengo un problema un tanto extraño. Resulta que estoy intentando imprimir una serie de palabras, junto con
un código de barras. Imprimir lo imprime, pero... resulta que la imagen del código de barras la imprime como con baja y mi lector, no es capaz de leer la imagen.

Para realizar la impresión uso el printdocument y uso este código:

Código:
        private void button1_Click(object sender, EventArgs e)
        {

            CrearImagen();
            printDocument1.Print();            
        }

        private void CrearImagen()
        {
            Bitmap objBitmap = new Bitmap(290, 100);

            Image imgImagen = Code128Rendering.MakeBarcodeImage("243224", 1, false);

            Graphics objG = Graphics.FromImage(objBitmap);
            objG.DrawString("descripcion del producto", new Font("Arial", 10), Brushes.Black, 0, 0);
            objG.DrawString("Talla S", new Font("Arial", 10), Brushes.Black, 0, 15);
            objG.DrawString("Precio: 110€", new Font("Verdana", 10), Brushes.Black, 0, 30);
            objG.DrawImage(imgImagen, 10, 50);
             
            pictureBox1.Image = objBitmap;
        }

        private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
        {
            
            Graphics objG = e.Graphics;
            objG.DrawImage(pictureBox1.Image, 1, 1);
            e.HasMorePages = false;
        }
Lo curioso, y espero, por dios, me digan como puedo resolver el problema. Es que si quito todas las líneas de Drawstring y solo dejo la de DrawImage(imgImagen, 10, 50), se me dibuja bien, y mi lector de código de barras es capaz de reconocer la imagen.

¿Por qué si escribo palabras, la imagen se me dibuja mal, y si la dibujo, sin poner palabras previamente, si se dibuja bien? En fin, espero puedan decirme como solucoinarlo...

Desde ya, muchas gracias
__________________
Charlie.