Visual Basic .NET Language
GDI +
खोज…
ग्राफिक ऑब्जेक्ट बनाएँ
ग्राफिक्स ऑब्जेक्ट बनाने के तीन तरीके हैं
- पेंट इवेंट से
हर बार नियंत्रण को फिर से व्यवस्थित किया जाता है (आकार बदला, ताज़ा किया जाता है ...) इस घटना को कहा जाता है, इस तरह से उपयोग करें यदि आप चाहते हैं कि नियंत्रण लगातार नियंत्रण पर आकर्षित हो
'this will work on any object's paint event, not just the form
Private Sub Form1_Paint(sender as Object, e as PaintEventArgs) Handles Me.Paint
Dim gra as Graphics
gra = e.Graphics
End Sub
- ग्राफिक बनाएँ
यह सबसे अधिक बार उपयोग किया जाता है जब आप नियंत्रण पर एक बार का ग्राफिक बनाना चाहते हैं, या आप नहीं चाहते हैं कि नियंत्रण खुद को फिर से रंगे
Dim btn as New Button
Dim g As Graphics = btn.CreateGraphics
- एक मौजूदा ग्राफिक से
जब आप एक मौजूदा ग्राफ़िक बनाना और बदलना चाहते हैं, तो इस विधि का उपयोग करें
'The existing image can be from a filename, stream or Drawing.Graphic
Dim image = New Bitmap("C:\TempBit.bmp")
Dim gr As Graphics = Graphics.FromImage(image)
आकृतियाँ बनाएँ
एक आकृति खींचने के लिए आपको एक पेन ऑब्जेक्ट को परिभाषित करने की आवश्यकता है Pen
दो मापदंडों को स्वीकार करता है:
- पेन कलर या ब्रश
- पेन की चौड़ाई
पेन ऑब्जेक्ट का उपयोग उस ऑब्जेक्ट की रूपरेखा बनाने के लिए किया जाता है जिसे आप आकर्षित करना चाहते हैं
पेन को परिभाषित करने के बाद आप विशिष्ट पेन गुण सेट कर सकते हैं
Dim pens As New Pen(Color.Purple)
pens.DashStyle = DashStyle.Dash 'pen will draw with a dashed line
pens.EndCap = LineCap.ArrowAnchor 'the line will end in an arrow
pens.StartCap = LineCap.Round 'The line draw will start rounded
'*Notice* - the Start and End Caps will not show if you draw a closed shape
फिर आकृति बनाने के लिए आपके द्वारा बनाई गई ग्राफिक्स ऑब्जेक्ट का उपयोग करें
Private Sub GraphicForm_Paint(sender As Object, e As PaintEventArgs) Handles MyBase.Paint
Dim pen As New Pen(Color.Blue, 15) 'Use a blue pen with a width of 15
Dim point1 As New Point(5, 15) 'starting point of the line
Dim point2 As New Point(30, 100) 'ending point of the line
e.Graphics.DrawLine(pen, point1, point2)
e.Graphics.DrawRectangle(pen, 60, 90, 200, 300) 'draw an outline of the rectangle
डिफ़ॉल्ट रूप से, पेन की चौड़ाई 1 के बराबर है
Dim pen2 as New Pen(Color.Orange) 'Use an orange pen with width of 1
Dim origRect As New Rectangle(90, 30, 50, 60) 'Define bounds of arc
e.Graphics.DrawArc(pen2, origRect, 20, 180) 'Draw arc in the rectangle bounds
End Sub
आकार भरें
ग्राफिक्स.फिलशैप एक आकृति बनाता है और इसमें दिए गए रंग से भरता है। भरें आकृतियाँ उपयोग कर सकती हैं
Brush
उपकरण - एक ठोस रंग के साथ आकार भरने के लिएDim rect As New Rectangle(50, 50, 50, 50) e.Graphics.FillRectangle(Brushes.Green, rect) 'draws a rectangle that is filled with green e.Graphics.FillPie(Brushes.Silver, rect, 0, 180) 'draws a half circle that is filled with silver
HatchBrush
टूल - एक पैटर्न के साथ आकार भरने के लिए
Dim hBrush As New HatchBrush(HatchStyle.ZigZag, Color.SkyBlue, Color.Gray)
'creates a HatchBrush Tool with a background color of blue, foreground color of gray,
'and will fill with a zigzag pattern
Dim rectan As New Rectangle(100, 100, 100, 100)
e.Graphics.FillRectangle(hBrush, rectan)
LinearGradientBrush
- एक ढाल के साथ आकार भरने के लिएDim lBrush As New LinearGradientBrush(point1, point2, Color.MediumVioletRed, Color.PaleGreen) Dim rect As New Rectangle(50, 50, 200, 200) e.Graphics.FillRectangle(lBrush, rect)
TextureBrush
- एक तस्वीर के साथ आकार भरने के लिए
आप संसाधनों से एक चित्र, पहले से परिभाषित बिटमैप या फ़ाइल नाम से चुन सकते हैं
Dim textBrush As New TextureBrush(New Bitmap("C:\ColorPic.jpg"))
Dim rect As New Rectangle(400, 400, 100, 100)
e.Graphics.FillPie(textBrush, rect, 0, 360)
दोनों Hatch Brush Tool
और LinearGradientBrush
निम्नलिखित कथन को आयात करते हैं: आयात प्रणाली।
टेक्स्ट
प्रपत्र पर पाठ आकर्षित करने के लिए DrawString
विधि का उपयोग करें
जब आप एक स्ट्रिंग खींचते हैं तो आप ऊपर सूचीबद्ध 4 ब्रशों में से किसी का उपयोग कर सकते हैं
Dim lBrush As New LinearGradientBrush(point1, point2, Color.MediumVioletRed, Color.PaleGreen)
e.Graphics.DrawString("HELLO", New Font("Impact", 60, FontStyle.Bold), lBrush, New Point(40, 400))
'this will draw the word "Hello" at the given point, with a linearGradient Brush
जब से तुम चौड़ाई या पाठ उपयोग की ऊंचाई को परिभाषित नहीं कर सकते हैं Measure Text
पाठ का आकार की जाँच करने के
Dim lBrush As New LinearGradientBrush(point1, point2, Color.MediumVioletRed, Color.PaleGreen)
Dim TextSize = e.Graphics.MeasureString("HELLO", New Font("Impact", 60, FontStyle.Bold), lBrush)
'Use the TextSize to determine where to place the string, or if the font needs to be smaller
Ex: आपको प्रपत्र के शीर्ष पर "टेस्ट" शब्द आकर्षित करना होगा। प्रपत्र की चौड़ाई 120 है। इस लूप का उपयोग फ़ॉन्ट आकार को कम करने के लिए करें जब तक कि यह प्रपत्र की चौड़ाई में फिट न हो जाए
Dim FontSize as Integer = 80
Dim TextSize = e.graphics.measeString("Test", New Font("Impact",FontSize, FontStyle.Bold), new Brush(colors.Blue, 10)
Do while TextSize.Width >120
FontSize = FontSize -1
TextSize = e.graphics.measeString("Test", New Font("Impact",FontSize, FontStyle.Bold), new Brush(colors.Blue, 10)
Loop