![]() |
|
ممكن رسم سهم بهذا الكود - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182) +--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183) +--- الموضوع : ممكن رسم سهم بهذا الكود (/showthread.php?tid=20126) الصفحات:
1
2
|
ممكن رسم سهم بهذا الكود - abdalamask - 23-04-17 Imports System Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs) MyBase.OnPaint(e) e.Graphics.SmoothingMode = SmoothingMode.AntiAlias Dim g As Graphics = e.Graphics Dim pointF As New PointF(CSng(Me.Width) / 2F, CSng(Me.Height) / 2F) Dim num1 As Single = Math.Min(pointF.X, pointF.Y) Dim num2 As Single = CSng(CDbl(num1) * 65.0 / 100.0) Dim num3 As Single = CSng(CDbl(num1) * 55.0 / 100.0) Dim num4 As Single = CSng(CDbl(num1) * 45.0 / 100.0) Dim _Brush As Brush = CType(New LinearGradientBrush(New Point(CInt(Math.Truncate(CDbl(pointF.X) - CDbl(num2))), CInt(Math.Truncate(CDbl(pointF.Y) - CDbl(num2)))), New Point(CInt(Math.Truncate(CDbl(pointF.X) + CDbl(num2))), CInt(Math.Truncate(CDbl(pointF.Y) + CDbl(num2)))), Color.WhiteSmoke, SystemColors.ControlDarkDark), Brush) g.FillEllipse(_Brush, pointF.X - num2, pointF.Y - num2, 2F * num2, 2F * num2) _Brush.Dispose() If Me._Value Then Dim path As New GraphicsPath() path.AddEllipse(pointF.X - num1, pointF.Y - num1, num1 * 2F, num1 * 2F) Dim pathGradientBrush As New PathGradientBrush(path) pathGradientBrush.CenterColor = Color.FromArgb(150, CInt(Math.Truncate(Me.OnColor.R)), CInt(Math.Truncate(Me.OnColor.G)), CInt(Math.Truncate(Me.OnColor.B))) Dim colorArray() As Color = { Color.FromArgb(1, CInt(Math.Truncate(Me.OnColor.R)), CInt(Math.Truncate(Me.OnColor.G)), CInt(Math.Truncate(Me.OnColor.B))) } pathGradientBrush.SurroundColors = colorArray g.FillEllipse(CType(pathGradientBrush, Brush), pointF.X - num1, pointF.Y - num1, num1 * 2F, num1 * 2F) path.Dispose() pathGradientBrush.Dispose() End If Dim brush2 As Brush = CType(New LinearGradientBrush(New Point(CInt(Math.Truncate(CDbl(pointF.X) - CDbl(num3))), CInt(Math.Truncate(CDbl(pointF.Y) - CDbl(num3)))), New Point(CInt(Math.Truncate(CDbl(pointF.X) + CDbl(num3))), CInt(Math.Truncate(CDbl(pointF.Y) + CDbl(num2)))), SystemColors.ControlDarkDark, Color.WhiteSmoke), Brush) g.FillEllipse(brush2, pointF.X - num3, pointF.Y - num3, 2F * num3, 2F * num3) _Brush.Dispose() Dim gp As New GraphicsPath() gp.AddEllipse(pointF.X - num4, pointF.Y - num4, 2F * num4, 2F * num4) If Me._Value Then Dim pathGradientBrush As New PathGradientBrush(gp) pathGradientBrush.CenterColor = Color.WhiteSmoke Dim colorArray() As Color = { Me.OnColor } pathGradientBrush.SurroundColors = colorArray pathGradientBrush.CenterPoint = New PointF(pointF.X - num4 / 2F, pointF.Y - num4 / 2F) g.FillEllipse(CType(pathGradientBrush, Brush), pointF.X - num4, pointF.Y - num4, 2F * num4, 2F * num4) pathGradientBrush.Dispose() Else Dim pathGradientBrush As New PathGradientBrush(gp) pathGradientBrush.CenterColor = Color.WhiteSmoke Dim colorArray() As Color = { Me.OffColor } pathGradientBrush.SurroundColors = colorArray pathGradientBrush.CenterPoint = New PointF(pointF.X - num4 / 2F, pointF.Y - num4 / 2F) g.FillEllipse(CType(pathGradientBrush, Brush), pointF.X - num4, pointF.Y - num4, 2F * num4, 2F * num4) pathGradientBrush.Dispose() End If gp.Dispose() End Sub كما فى هذا الفيديو هذا الكود رسم lad كيف احولة لرسم السهم كما فى الفيديو شكرااا RE: ممكن رسم سهم بهذا الكود - silverlight - 23-04-17 رسم السهم لا يحتاج كل هذا الكود بس حدد لي شكل السهم علي الصورة اعلاه بمربع لونه أحمر لأن اللي انا فاهمه من الصورة انك تريد رسم شئ مثل سهم تشغيل الفيديو ياريت توضحي لي أكتر RE: ممكن رسم سهم بهذا الكود - abdalamask - 23-04-17 (23-04-17, 08:28 PM)abdalamask كتب : Imports System RE: ممكن رسم سهم بهذا الكود - عبـدالله - 23-04-17 جرب هذا الكود PHP كود : Private Sub Form1_Paint(sender As Object, e As PaintEventArgs) Handles Me.PaintRE: ممكن رسم سهم بهذا الكود - abdalamask - 24-04-17 شكرا ولكن اريدة بالشكل فى الصور الكود الاعلى فى اول الموضوع هو للدوائر فى الصورة ولكن كيف احول الكود لرسم سهم مع امكنية تكبير اوتصغير فيديو ل lad RE: ممكن رسم سهم بهذا الكود - silverlight - 24-04-17 نفذ الكود هذا في مشروع منفصل حتي تتضح لك الفكرة وعندما توضح لي مكان رسم السهم بالظبط سوف أوضح لك كيف تدمج الكود الخاص بي مع الكود الخاص بك إن أردت ان تتخلص من ذيل السهم عليك ان تجعل القيمة 0.3F = 0.7F او العكس PHP كود : Public Class Form1RE: ممكن رسم سهم بهذا الكود - abdalamask - 24-04-17 [attachment=14012]شكرا ولكن انا حددت شكل السهم المطلوب فى هذة الصورة عندما تشاهد الفيديو الاول الاعلى تجد ان السهم هو اداة كنترول يتحكم فيها ممكن ان تكون دائرة او سهم او مستطيل قد اضفت مشروع فية الكود الدائرة ممكن مشاهدتة اريدة ان احولة الى سهم كلة فى الفيديو RE: ممكن رسم سهم بهذا الكود - silverlight - 24-04-17 لقد شاهدت الفيديو و مازلت لم أفهم طلبك لكني أخمن ان مشكلتك ليست في عملية الرسم نفسها وانك تريد أن يكون لديك ميزة ان يكون للكونترول أكثر من شكل وهذه الاشكال هي المستطيل و ادائرة و السهم وان كان تخميني صحيحا فهنا انت تحتاج ان تضيف Enumeration يعبر عن الاشكال التي تريدها بحيث حين يختار المستخدم الشكل الذي يريده يتم عمل Invalidate و يأخذ الكونترول الشكل الذي تم اختياره بواسطة المستخدم فقط في الحدث Paint تستخدم Select Case و ترسم كل شكل علي حدة RE: ممكن رسم سهم بهذا الكود - abdalamask - 24-04-17 لا انا اريد رسم سهم بهاذا الشكل كما فى الفيديو RE: ممكن رسم سهم بهذا الكود - silverlight - 24-04-17 الكود الذي كتبته لك يرسم سهم مماثل هو فقط يحتاج تعديل بسيط بحيث أن عملية الرسم تتم بأن يكون للسهم نفس شكل و الوان الياتون الدائري هل هذا ما تريده |