منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : اضافة علامة مائية للفورم
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
اريد اضافة علامة مائية للفورم 

رابط علامة مائية

رابط لعلامة مائية
ايش اللي مانعك؟
ارسمها علي الفورم في الحدث التالي مع مراعاة عمل Invalidate لعملية الرسم حين تتغير ابعاد الفورم او مكانه علي شاشة الكمبيوتر

كود :
Private Sub Form1_Paint(sender As Object, e As PaintEventArgs) Handles MyBase.Paint

   End Sub
الي مانعني طريقة جعل اليبل يميل لوضع التيكست بداخلة
ماذا تقصد بإنك لا تستطيع ان تجعل Label يميل؟
وإن كنت تقصد انك تريد أن يظهر التكست مائلا داخل Label فهذا يحتاج الي إلمام ب الجرافكس

عموما العلامة المائية ممكن أن تكون تكست أو صورة او تكست مع صورة في نفس الوقت و غالبا يتم رسمها في خلفية الكونترول بحيث انها لا تظهر بشكل واضح أي أن الألوان المستخدمة لرسم التكست غالبا ما تكون شفافة قليلا و نفس الشئ بالنسبة للصور يجب ان تكون لها درجة من الشفافية

سأحاول أن أكتب لك الفكرة لاحقا
جرب وضعها على شكل خلفية للفورم 

او عن طريق
كود :
Dim x As Boolean = False
   Private Sub Form1_Paint(sender As Object, e As PaintEventArgs) Handles Me.Paint
       If x = False Then
           e.Graphics.DrawImage(picturebox1.Image, 0, 0)
       End If
   End Sub
ممكن تشرحون لي معنى علامة مائية؟
هل المقصود بها ان اضع ايقونة ثابتة لصورة او لفيديو؟
بارك الله فيكم جميعا.
العلامة المائية تكون عادة نص او صورة او الاثنين معاً .. وغالباً تكون بخط مائل 45 درجة وبلون غير واضح

مثل كلمة Draft هنا

الكود التالي يوضح كيف ترسم علامة مائية عبارة عن تكست علي سطح الفورم
كود :
Public Class Form1

   Private Sub Form1_Paint(sender As Object, e As PaintEventArgs) Handles MyBase.Paint
       If Me.Width < 0 AndAlso Me.Height < 0 Then
           Return
       End If

       Dim rect As Rectangle = New Rectangle(0, 0, Me.Width, Me.Height)
       Dim bmp As Bitmap = New Bitmap(CInt(Width), CInt(Height), Imaging.PixelFormat.Format32bppArgb)
       Dim inclination As Integer = 315

       If inclination < 0 Then
           inclination = 0
       End If
       If inclination > 360 Then
           inclination = 360
       End If

       Using g As Graphics = Graphics.FromImage(bmp)
           g.SmoothingMode = Drawing2D.SmoothingMode.AntiAlias
           g.Clear(Me.BackColor)

           Dim watermark As String = "Visual Basic For Arab"
           Dim maxFontSize As Integer = 70
           Dim minFontSize As Integer = CInt(Me.Font.Size)
           Dim maxWidth As Integer = bmp.Width
           Dim controlFont As Font = Me.Font
           Dim drawingFont As Font = CType(Nothing, Font)
           Dim bestFitFont As Font = CType(Nothing, Font)
           For i As Integer = minFontSize To maxFontSize Step 1
               drawingFont = New Font(controlFont.Name, i, controlFont.Style)
               Dim textSize As SizeF = g.MeasureString(watermark, drawingFont)
               If maxWidth > CInt(textSize.Width) Then
                   bestFitFont = drawingFont
               End If
           Next

           Dim watermarkTextSize As SizeF = g.MeasureString(watermark, bestFitFont)
           g.TranslateTransform(bmp.Width / 2, bmp.Height / 2)
           g.RotateTransform(inclination)
           g.DrawString(watermark, bestFitFont, New SolidBrush(ControlPaint.LightLight(Me.BackColor)), -(watermarkTextSize.Width / 2), -(watermarkTextSize.Height / 2))
       End Using

       e.Graphics.DrawImage(bmp, 0, 0)
   End Sub

   Private Sub Form1_SizeChanged(sender As Object, e As EventArgs) Handles MyBase.SizeChanged
       Invalidate()
   End Sub


End Class