locked
Proyecto de Código de Barra RRS feed

  • Pregunta

  • <!-- [if gte mso 10]> <mce:style> Utilizo un programa que encontré en inter en el cual crea códigos de barra en el estándar EAN13 el programa crea y muestra en pantalla el código de de barra excelente mente luego se me ocurrió exportar ese código de barra a una imagen o en otro caso almacenar en una base de datos ya sea que la almacene o que la guarde en el C: la imagen no me muestra nada es decir que la imagen se crea pero llega a pesar unos 38mb y de paso muestra todo en negro Leandro Tuttini me dio una mano para mostrarme que me faltaba código en el proyecto, aparte que copio no copio bien jijiiji la verdad ya intente con barios códigos y nada si alguien me puede dar una mano se los agradeceré.

     
    Aquí les dejo el proyecto


    • Editado DubiWeb viernes, 12 de marzo de 2010 4:23 nada
    viernes, 12 de marzo de 2010 4:22

Respuestas

  • Entiendo, pero mas alla de que el pero sea de 38 MB ...

    de fondo es que no habia necesidad de guardar el codigo de barras como imagen en la BD, basta con guardar el texto y al mostrarla de nuevo en el programa asegurarte de usar la fuente correcta.

    Esta por otro lado la opcion de que lo guardes como jpg , mandas eso a un memory string y guardas el arreglo de bytes en la base de datos...

     

     

    eltema del tamaño de la imagen tambien esta asociado al tamaño de la misma... realmente nebcesitas generar una imagen tan grande?

    jueves, 8 de abril de 2010 17:13
    Moderador

Todas las respuestas

  • hola

    podrias poner el codigo que suas para guardar la imagen a disco ?


    por ahi lo que falte es especificar el formato, usas de casualidad este metodo

    Image. Save (Método) (String, ImageFormat)

    o directo suas el del PictureBox ?

    saludos
    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    viernes, 12 de marzo de 2010 4:28
  • metodo del boton que crea lo que tiene el picturebox a bmp y se lo coloca al picturebox como imagen bmp

     
    System.Drawing.Graphics g = this.picBarcode.CreateGraphics();
    
    g.FillRectangle(new System.Drawing.SolidBrush(System.Drawing.SystemColors.Control),
    new Rectangle(0, 0, picBarcode.Width, picBarcode.Height));
    
    CreateEan13();
    ean13.Scale = (float)Convert.ToDecimal(cboScale.Items[cboScale.SelectedIndex], new CultureInfo("en-US"));
    ean13.DrawEan13Barcode(g, new System.Drawing.Point(0, 0));
    txtChecksumDigit.Text = ean13.ChecksumDigit;
    
    System.Drawing.Bitmap bmp = ean13.CreateBitmap();
    this.picBarcode.Image = bmp;
    
    g.Dispose();
    
    
    el cual llama este metodo
    
    public System.Drawing.Bitmap CreateBitmap( )
    		{
    float tempWidth = ( this.Width * this.Scale ) * 100 ;
    float tempHeight = ( this.Height * this.Scale ) * 100;
    
    System.Drawing.Bitmap bmp = new System.Drawing.Bitmap( (int)tempWidth, (int)tempHeight );
    
    System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(bmp);
    this.DrawEan13Barcode( g, new System.Drawing.Point( 0, 0 ) );
    g.Dispose( );
    return bmp;
    		}

    y luego trato de almacenarla en c asi


    private void pd_PrintPage( object sender, System.Drawing.Printing.PrintPageEventArgs ev )
    		{
    			CreateEan13( );
    			ean13.Scale = ( float )Convert.ToDecimal( cboScale.Items [cboScale.SelectedIndex] );
    			ean13.DrawEan13Barcode( ev.Graphics, new System.Drawing.Point( 0, 0 ) );
    			txtChecksumDigit.Text = ean13.ChecksumDigit;
    
    			// Add Code here to print other information.
    			ev.Graphics.Dispose( );
    		}
    
    		private void butCreateBitmap_Click(object sender, EventArgs e)
    		{
    			CreateEan13( );
    			ean13.Scale = ( float )Convert.ToDecimal( cboScale.Items [cboScale.SelectedIndex] );
    
    			System.Drawing.Bitmap bmp = ean13.CreateBitmap();
    			this.picBarcode.Image = bmp;
    
    
                if (txtCountryCode.Text != "")
                {
                    if (Directory.Exists("C:\\Web_Cam\\"))
                    {
                        //MessageBox.Show("El directorio Exsite", Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1);
                    }
                    else
                    {
                        Directory.CreateDirectory("C:\\Web_Cam\\");
                        MessageBox.Show("Directorio Creado Satisfactoriamente!'", Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1);
    
                    }
                    string sNombre = "C:\\Web_Cam\\" + txtCountryCode.Text + ".Bmp";
                    MessageBox.Show("Imagen Gurdada Correctamente", "FOTOGRAFIA", MessageBoxButtons.OK, MessageBoxIcon.Information);
    
                    if (sNombre.EndsWith("Bmp"))
                    {
                      picBarcode.Image.Save(sNombre, ImageFormat.Bmp);
                    }
                }
                else
                    MessageBox.Show("La Imagen Nesecita Un nombre para ser Guardada", "FOTOGRAFIA", MessageBoxButtons.OK, MessageBoxIcon.Information);
               
    
    
    
               		}
    



    crea la imagen y todo lo unico que la imagen pesa unos 36 mb y la imagen todo esta en negro no se ve el codigo

    • Editado DubiWeb viernes, 12 de marzo de 2010 4:51 01
    viernes, 12 de marzo de 2010 4:50

  • hola

    podrias editar el post y modificar el codigo del ultimo evento
    se quedo todo en una sola linea

    saludos
    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    viernes, 12 de marzo de 2010 4:57

  • hey amigos denme una mano no solo vean el post no sean malos lo han visto 53 veces pero solo dos respuestas tengo denme una idea que yo ya no se que mas hacer

    • Editado DubiWeb sábado, 13 de marzo de 2010 17:30 01
    sábado, 13 de marzo de 2010 17:30
  • Entiendo, pero mas alla de que el pero sea de 38 MB ...

    de fondo es que no habia necesidad de guardar el codigo de barras como imagen en la BD, basta con guardar el texto y al mostrarla de nuevo en el programa asegurarte de usar la fuente correcta.

    Esta por otro lado la opcion de que lo guardes como jpg , mandas eso a un memory string y guardas el arreglo de bytes en la base de datos...

     

     

    eltema del tamaño de la imagen tambien esta asociado al tamaño de la misma... realmente nebcesitas generar una imagen tan grande?

    jueves, 8 de abril de 2010 17:13
    Moderador