Bojjaiah Ответов: 1

Заполните штрих-код на основе пользовательского ввода


Я пытаюсь успешно распечатать штрих-код на основе пользовательского ввода, но штрих-код заполняется неправильно. Высота и ширина изображения увеличиваются/уменьшаются по мере ввода данных пользователем.

Пожалуйста, смотрите приведенное ниже эталонное изображение.

Imgur: магия интернета[^]

Пожалуйста, предложите заполнить штрих-код на основе пользовательских данных.

Что я уже пробовал:

For these, I tried below code.


public void fun()
    {
        string barCode = txtCode.Text;
        System.Web.UI.WebControls.Image imgBarCode = new System.Web.UI.WebControls.Image();
        using (Bitmap bitMap = new Bitmap(Convert.ToInt32(txtW.Text), Convert.ToInt32(txtH.Text)))
        {
            using (Graphics graphics = Graphics.FromImage(bitMap))
            {
                Font oFont = new Font(@"C:\Users\bojjaiah.thoti\Downloads\IDAutomationCode39\IDAutomation.com Free Code 39 Font\IDAutomationHC39M.ttf", 16);
                PointF point = new PointF(2f, 2f);
                SolidBrush blackBrush = new SolidBrush(Color.Black);
                SolidBrush whiteBrush = new SolidBrush(Color.White);
                graphics.FillRectangle(whiteBrush, 0, 0, bitMap.Width, bitMap.Height);
                graphics.DrawString("*" + barCode + "*", oFont, blackBrush, point);
            }
            using (MemoryStream ms = new MemoryStream())
            {
                bitMap.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
                byte[] byteImage = ms.ToArray();

                Convert.ToBase64String(byteImage);
                imgBarCode.ImageUrl = "data:image/png;base64," + Convert.ToBase64String(byteImage);

            }

            plBarCode.Controls.Add(imgBarCode);
        }
    }

1 Ответов

Рейтинг:
1

Richard MacCutchan

Вы установили высоту и ширину растрового изображения, а также начальную позицию текста, но никогда не устанавливали высоту и ширину используемого шрифта.


Bojjaiah

Высота шрифта-это свойство только для чтения, верно?