डॉट नेट फ्रेमवर्क के अंतर्गत ड्रॉइंग से संबंधित अलग-अलग कार्यों जैसे किसी वस्तु को रंगने, वस्तु पर रेखाओं को खींचने, उसको फोंट देने इत्यादि उपयोगी कार्यों के लिए System.Drawing नेमस्पेस के भीतर कई सारे उपयोगी क्लासेज बनाए गए हैं जैसे Graphics, Color, Font, SolidBrush, Image, Imaging इत्यादि।
यूजर के द्वारा इनपुट किए गए टेक्स्ट को बारकोड में परिवर्तित करने के लिए हमें ऐसे Font का चयन करना होगा जो खड़ी रेखा के रूप में उन रोमन अक्षरों को दर्शा सकें जिसे यूज़र ने इनपुट किया है। इसके अलावा अगर हम चाहते हैं कि बारकोड किसी खास रंग का हो तो हमें Color क्लास का भी उपयोग करना पड़ेगा। Color क्लास के भीतर ब्लैक कलर का चयन किया गया है ताकि बारकोड ब्लैक कलर का दिखाई दे। कलर करने के लिए ब्रश की जरूरत होती है। डॉट नेट फ्रेमवर्क के भीतर SolidBrush नामक क्लास है जिसका उपयोग कर हम किसी वस्तु को कलर प्रदान करते हैं।
ध्यान देने वाली बात यह है कि जब हम इमेज का आकार(dimension) निश्चित कर लेते हैं तब हम उसको कलर प्रदान करते हैं। ऑब्जेक्ट को कलर देने के लिए हम अलग-अलग तरह के ब्रश का उपयोग करते हैं। इन सारे क्रियाकलापों को करने के बाद बिटमैप इमेज को स्ट्रीम में परिवर्तित करते हैं ताकि उसे किसी डेटाबेस में स्टोर किया जा सके। स्ट्रीम में परिवर्तित करने के लिए हम मेमोरीस्ट्रीम का उपयोग करते हैं क्योंकि जब हम डायनॉमिकली इमेज को क्रिएट करते हैं तो यह जरूरी है कि मेमोरीस्ट्रीम का निर्माण कर उस मेमोरीस्ट्रीम में बिटमैप इमेज को सेव किया जाए। ध्यान दीजिए कि बिटमैप इमेज को सेव करते समय उसके फॉर्मेट का भी निर्देश दिया गया है, जैसे इमेज को पीएनजी, जेपीजी, बीएमपी इत्यादि अनेकानेक फॉर्मेट में सेव किया जा सकता है। जब इमेज सेव हो जाता है तब उस इमेज को हम किसी भी डेटाबेस में या पिक्चरबॉक्स कंट्रोल इत्यादि में स्टोर कर सकते हैं।
using System;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
using System.Windows.Forms;
namespace BarCode_III_WF
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void GenerateBarcodeButton_Click(object sender, EventArgs e)
{
string text = TextBox1.Text;
if (text.Length==0)
{
MessageBox.Show("Please enter text.", "Required", MessageBoxButtons.OK);
TextBox1.Focus();
return;
}
// create bitmap object of specified width and height
// height 150 is taken to display the text below bar code, else it may remain hidden Bitmap bitmap = new Bitmap(text.Length * 40, 150);
// Use Graphics class object to draw on device
// It contains methods for drawing objects to the display device.
using (Graphics graphics = Graphics.FromImage(bitmap))
{
Font font = new Font("IDAHC39M Code 39 Barcode", 24, FontStyle.Regular);
//Defines a brush of a single color. Brushes are used to fill graphics shapes, such as rectangles, ellipses, pies, polygons, and paths.
//We use two brushes. One of black color and another of white color
SolidBrush black = new SolidBrush(Color.Black);
SolidBrush white = new SolidBrush(Color.White);
//now we fill our rectangular bitmap object
graphics.FillRectangle(white, 0, 0, bitmap.Width, bitmap.Height);
PointF point = new PointF(2f, 2f);
graphics.DrawString("*" + text + "*", font, black, point);
}
using (MemoryStream memoryStream = new MemoryStream())
{
bitmap.Save(memoryStream, ImageFormat.Png);
BarcodePictureBox.Image = bitmap;
BarcodePictureBox.Width = bitmap.Width;
BarcodePictureBox.Height = bitmap.Height;
}
BarcodeLabel1.Visible = true;
}
private void Form1_Load(object sender, EventArgs e)
{
BarcodeLabel1.Visible = false;
}
}
}
© अजीत कुमार, सर्वाधिकार सुरक्षित।
इस आलेख को उद्धृत करते हुए इस लेख के लिंक का भी विवरण दें। इस आलेख को कॉपीराइट सूचना के साथ यथावत साझा करने की अनुमति है। कृपया इसे ऐसे स्थान पर साझा न करें जहाँ इसे देखने के लिए शुल्क देना पडे।
No comments:
Post a Comment