17-01-16, 09:52 AM
الصفحات : 1 2
17-01-16, 02:30 PM
ملحوظة فكرة اشفافية هنا مبنية علي ان لون خلفية الصورة يكون مبنيي علي لون خلفية الفورم او علي لون خلفية ToolBar
PHP كود :
Dim img As Bitmap = My.Resources.stripImage
Dim counter As Integer = img.Width / img.Height
Dim r As Rectangle = New Rectangle(0, 0, img.Height, img.Height)
For i As Integer = 0 To counter - 1
Dim current As Bitmap = img.Clone(r, img.PixelFormat)
current.MakeTransparent(Me.BackColor)
images.Add(current)
r.X += img.Height
Next
PictureBox1.Image = images(0)
PictureBox2.Image = images(1)
PictureBox3.Image = images(2)
PictureBox4.Image = images(3)
PictureBox5.Image = images(4)
PictureBox6.Image = images(5)
PictureBox7.Image = images(6)
PictureBox8.Image = images(7)
17-01-16, 09:42 PM
شكرا على الرد وعلى الكود
ممكن توجهنى الى افضل طريق لتعلم GDI+
والكتب
وثانى كيف اضيف خاصية تقسيم الصورة الى اداةImageList1
انا حولت الوراثة من الادة ImageList ولكن لا تقيل التوريث
ما ذا افعل
اى عند اختيار الصورة تقسم الصورة المجمعة الى صور فردية
اسف على الازعاج
ممكن توجهنى الى افضل طريق لتعلم GDI+
والكتب
وثانى كيف اضيف خاصية تقسيم الصورة الى اداةImageList1
انا حولت الوراثة من الادة ImageList ولكن لا تقيل التوريث
ما ذا افعل
اى عند اختيار الصورة تقسم الصورة المجمعة الى صور فردية
اسف على الازعاج
17-01-16, 11:04 PM
عليك أن تضيف ImageList الي الفورم
ثم تستخدم نفس الكود السابق خاصة ان ImageList بها صفة اسمها Images و هي عبارة عن collection
و الكود في تلك الحالة سيكون شكله كالتالي
بخصوص انك تتعلم الجرافكس عليك بالقراءة و التطبيق و تحديدا عليك ان تفهم جميع الكلاسات الموجودة في فضاء الاسماء System.Drawing و مشتقاته
الكتب الخاصة بتعليم الجرافكس قليلة جدا و اغليها يركز علي شرح فضاء الاسماء System.Drawing بشكل عام
ولكي تتعلم فعلا عليك أن تقرأ و تطبق الافكار التي تقرأ عنها حتي تتعلم الاساسيات اولا
بعد ذلك سيصبح الأمر أسهل و اذا احتجت اي شئ يمكنك ان تسأل و انا سوف أجاوب اسئلتك او علي الاقل ستجد من يجيب علي سؤالك من الاخوة المبرمجين
لكن لا تعتمد علي هذا كثيرا لأن الجرافكس لها اسرارها التي من الصعب ان تجد من يوضحها لك بسهولة
فهي بيزنس مهم و القلائل فقط هم من يجيدونها بقوة
أخيرا بخصوص توريث ImageLisr ستجد بعض الكلاسات في الدوت نت لا يمكن توريثها و عليك ان تبني Wrapper يدور حولها
والكود الخاص بذلك سيكون شئ من هذا القبيل
ثم تستخدم نفس الكود السابق خاصة ان ImageList بها صفة اسمها Images و هي عبارة عن collection
و الكود في تلك الحالة سيكون شكله كالتالي
PHP كود :
ImageList1.TransparentColor = Me.BackColor
Dim img As Bitmap = My.Resources.stripImage
Dim counter As Integer = img.Width / img.Height
Dim r As Rectangle = New Rectangle(0, 0, img.Height, img.Height)
For i As Integer = 0 To counter - 1
Dim current As Bitmap = img.Clone(r, img.PixelFormat)
current.MakeTransparent(Me.BackColor)
ImageList1.Images.Add(current)
r.X += img.Height
Next
PictureBox1.Image = ImageList1.Images(0)
PictureBox2.Image = ImageList1.Images(1)
PictureBox3.Image = ImageList1.Images(2)
PictureBox4.Image = ImageList1.Images(3)
PictureBox5.Image = ImageList1.Images(4)
PictureBox6.Image = ImageList1.Images(5)
PictureBox7.Image = ImageList1.Images(6)
PictureBox8.Image = ImageList1.Images(7)
بخصوص انك تتعلم الجرافكس عليك بالقراءة و التطبيق و تحديدا عليك ان تفهم جميع الكلاسات الموجودة في فضاء الاسماء System.Drawing و مشتقاته
الكتب الخاصة بتعليم الجرافكس قليلة جدا و اغليها يركز علي شرح فضاء الاسماء System.Drawing بشكل عام
ولكي تتعلم فعلا عليك أن تقرأ و تطبق الافكار التي تقرأ عنها حتي تتعلم الاساسيات اولا
بعد ذلك سيصبح الأمر أسهل و اذا احتجت اي شئ يمكنك ان تسأل و انا سوف أجاوب اسئلتك او علي الاقل ستجد من يجيب علي سؤالك من الاخوة المبرمجين
لكن لا تعتمد علي هذا كثيرا لأن الجرافكس لها اسرارها التي من الصعب ان تجد من يوضحها لك بسهولة
فهي بيزنس مهم و القلائل فقط هم من يجيدونها بقوة
أخيرا بخصوص توريث ImageLisr ستجد بعض الكلاسات في الدوت نت لا يمكن توريثها و عليك ان تبني Wrapper يدور حولها
والكود الخاص بذلك سيكون شئ من هذا القبيل
PHP كود :
Public Class CairoImageList
Implements IDisposable
Private _list As ImageList
Public Sub New()
Me.New(CType(Nothing, ImageList))
End Sub
Public Sub New(list As ImageList)
_list = list
End Sub
Protected ReadOnly Property ImageList As ImageList
Get
Return _list
End Get
End Property
Protected Overloads Sub Ondisposed()
If _list IsNot Nothing Then
_list.Dispose()
_list = Nothing
End If
End Sub
#Region "IDisposable Support"
Private disposedValue As Boolean ' To detect redundant calls
' IDisposable
Protected Overridable Sub Dispose(disposing As Boolean)
If disposedValue Then
Return
End If
If disposing Then
' TODO: dispose managed state (managed objects).
Ondisposed()
End If
' TODO: free unmanaged resources (unmanaged objects) and override Finalize() below.
' TODO: set large fields to null.
disposedValue = True
End Sub
' TODO: override Finalize() only if Dispose(disposing As Boolean) above has code to free unmanaged resources.
'Protected Overrides Sub Finalize()
' ' Do not change this code. Put cleanup code in Dispose(disposing As Boolean) above.
' Dispose(False)
' MyBase.Finalize()
'End Sub
' This code added by Visual Basic to correctly implement the disposable pattern.
Public Sub Dispose() Implements IDisposable.Dispose
' Do not change this code. Put cleanup code in Dispose(disposing As Boolean) above.
Dispose(True)
' TODO: uncomment the following line if Finalize() is overridden above.
' GC.SuppressFinalize(Me)
End Sub
#End Region
End Class
18-01-16, 12:57 AM
شكرا على التجاوب واسف على الازعاج
29-05-19, 10:31 PM
شكرا لكم جميعا
شكرا جدا على الموضوع الاكثر من رائع
_______________________________________________
التسامح الحق لا يستلزم نسيان الماضي بالكامل..
سينما كلوب
ايجي بست
شاهد فور يو
سيرا اون لاين
مشاهدة فيلم
شكرا جدا على الموضوع الاكثر من رائع
_______________________________________________
التسامح الحق لا يستلزم نسيان الماضي بالكامل..
سينما كلوب
ايجي بست
شاهد فور يو
سيرا اون لاين
مشاهدة فيلم
30-12-19, 07:59 AM
الصفحات : 1 2