Resize bitmap generated in C # for better visualization

0

I have a program to generate bar code type Interleaved 2 of 5 . I got the code from this site but as it was posted in 2007 I could not answer my question. The program generates a bitmap with the bar code and inserts it into a picture-box . However this bitmap is too small making it unreadable by a reader. I have already tried to resize the bitmap at the time of its creation but it "always" occupies the same space. The image below is how it shows the bar code. The base code was the numbers "1234567890" and the two label below the button were for testing the first is the width and the second is the height bitmap :

Followthecompletecode:

usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;namespaceWindowsApplication1{publicpartialclassForm1:Form{publicForm1(){InitializeComponent();}publicstringCalcCheckSum(stringCheckNum){inti;intj;intcheckval=0;j=3;i=CheckNum.Length-1;while(i>0){checkval+=Convert.ToInt32(CheckNum.Substring(i,1))*j;j=j^2;i-=1;}checkval=(10-(checkval%10))%10;returncheckval.ToString();}publicstringGet2of5Pattern(stringletter){stringtmpPattern="";
        switch (letter)
        {
            case "0":
                tmpPattern = "NNWWN";
                break;
            case "1":
                tmpPattern = "WNNNW";
                break;
            case "2":
                tmpPattern = "NWNNW";
                break;
            case "3":
                tmpPattern = "WWNNN";
                break;
            case "4":
                tmpPattern = "NNWNW";
                break;
            case "5":
                tmpPattern = "WNWNN";
                break;
            case "6":
                tmpPattern = "NWWNN";
                break;
            case "7":
                tmpPattern = "NNNWW";
                break;
            case "8":
                tmpPattern = "WNNWN";
                break;
            case "9":
                tmpPattern = "NWNWN";
                break;
        }
        return tmpPattern;
    }

    public Bitmap Print2of5Interleaved()
    {
        string Content = "1234567890";
        string CheckSum = CalcCheckSum(Content);
        string startcode = "1010";
        string stopcode = "1101";
        int startX = 0;
        int startY = 0;
        int endY = startY + 40;
        int curX;
        int sectionIndex = 0;
        int pairIndex = 0;
        int barIndex = 0;
        int spaceIndex = 0;

        Graphics g;
        Bitmap bmp = new Bitmap(10000, 8000);
        g = Graphics.FromImage(bmp);

        curX = startX;
        //Content = Content + CheckSum;
        if ((Content.Length % 2) != 0)
        {
            //odd number, fill in a leading zero
            Content = "0" + Content;
        }
        //draw the start marker
        foreach (char digit in startcode)
        {
            if (digit == '1')
            {
                g.DrawLine(Pens.Black, curX, startY, curX, endY);
                curX += 1;
            }
            else
            {
                curX += 1;
            }
        }
        //draw the content
        for (int i = 0; i < Content.Length; i += 2)
        {
            string pair = Content.Substring(i, 2);
            string barPattern = Get2of5Pattern(pair.Substring(0, 1));
            string spacePattern = Get2of5Pattern(pair.Substring(1, 1));
            barIndex = 0;
            spaceIndex = 0;
            sectionIndex = 0;
            while (sectionIndex < 10)
            {
                if ((sectionIndex % 2) == 0)
                {
                    //bar 0,2,4,6,8 positions
                    pairIndex = 0;
                    if (barPattern.Substring(barIndex, 1) == "W")
                    {
                        //draw wide bar
                        while (pairIndex < 2)
                        {
                            g.DrawLine(Pens.Black, curX + pairIndex, startY, curX + pairIndex, endY);
                            pairIndex++;
                        }
                        curX = curX + 2;
                    }
                    else
                    {
                        //draw narrow bar
                        g.DrawLine(Pens.Black, curX + pairIndex, startY, curX + pairIndex, endY);
                        curX = curX + 1;
                    }
                    barIndex++;
                }
                else
                {
                    //space 1,3,5,7,8 positions
                    if (spacePattern.Substring(spaceIndex, 1) == "W")
                    {
                        //simulate drawing a wide white space
                        curX = curX + 2;
                    }
                    else
                    {
                        //simulate drawing a narrow white space
                        curX = curX + 1;
                    }
                    spaceIndex++;
                }
                sectionIndex += 1;
            }
        }
        //draw the stop marker
       foreach (char digit in stopcode)
        {
            if (digit == '1')
            {
                g.DrawLine(Pens.Black, curX, startY, curX, endY);
                curX += 1;
            }
            else
            {
                curX += 1;
            }
        }
        return bmp;
    }


    private void button1_Click(object sender, EventArgs e)
    {
        pictureBox1.Image = Print2of5Interleaved();
        label1.Text = Print2of5Interleaved().Width.ToString();
        label2.Text = Print2of5Interleaved().Height.ToString();

    }

    private void Form1_Load(object sender, EventArgs e)
    {

    }

    private void label1_Click(object sender, EventArgs e)
    {

    }


}}

And in this other image is how the Bitmap creation property is, I put it to be created from scratch as new Bitmap(width,height) with the values shown in the previous image in labels . But when I mouse over it shows this definition that the bitmap is being created with the dimensions of an existing image new Bitmap(Image original, Size newSize) .

I need an urgent help to be able to increase this bitmap and make the reader able to read so I can check if the program is correct even, I notice I'm a beginner in programming even more in C # !! Thank you in advance!

    
asked by anonymous 15.06.2015 / 19:58

1 answer

0

You can try something like this

g.ScaleTransform(2.0f, 2.0f)

Calling ScaleTransform makes all commands graphs that follow are drawn with the specified size increase.

    
15.06.2015 / 20:16