تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
تلاشي الصور في اداة picbox
#1
سلام عليكم 
اريد كود تلاشي الصور 
لمثال اداة picturebox1  مع صورتين محملة في البرنامج او اي طريقة اخرى المهم صورتين تذهب واحدة وتظهر الاخر وهكذا 
مربوطة بتيمر او غيره
بامكانية ان تتلاشى من فوق او تحت او شمال او يمين 
مثل بضبط واجهات الميترو 
او مثل بدا لوندوز 8 او 10 مثل ذلك
   

لكن دون ادواة مثل 
devComponents.DonNetBar
DevExpress
انا اريدها باداة picbox او داخل Panel و picbox
صلى الله على نبينا محمد
اخيكم / محمود صالح
  قال الزهري رحمه الله  
 مــا عُـــبـِد الله بشئ أفضل من العلم 
الرد
تم الشكر بواسطة:
#2
هل تريد أن تصممم ما يطلق عليه Fade Effect
وهو أن صورة تحل محل صوره أخري لفترة زمنية معينة ثم تعود الصورة الأصلية للظهور مرة ثانية
او يكون لديك مجموعة من الصورة يتم ظهورهم علي فترات زمنية معينة
Retired
الرد
تم الشكر بواسطة:
#3
(26-12-17, 05:59 PM)silverlight كتب : هل تريد أن تصممم ما يطلق عليه Fade Effect
وهو أن صورة تحل محل صوره أخري لفترة زمنية معينة ثم تعود الصورة الأصلية للظهور مرة ثانية
او يكون لديك مجموعة من الصورة يتم ظهورهم علي فترات زمنية معينة

نعم كما قلت
الفكرة اني اخد كود التلاشي او كما يسمى
ثم اضعه في حلقة تكرار زمانية في الخلفية بواسطة اداة bgwarker1 
وذلك لان استخدام الادوات الجاهزة لعمل ذلك تكون مرتبطة بتيمر مباشرة وتبطئ البرنامج
الحلقة التكرار الزمانية اقصد بها
for next
مزودة بتاخير sleep
وهو يقوم مقام التيمر 
دي كل الفكرة
صلى الله على نبينا محمد
اخيكم / محمود صالح
  قال الزهري رحمه الله  
 مــا عُـــبـِد الله بشئ أفضل من العلم 
الرد
تم الشكر بواسطة:
#4
هل هذا ما تريدة ؟؟؟؟؟

تأثيرات كثيرة موجودة




الرد
تم الشكر بواسطة: عبد العزيز البسكري
#5
(26-12-17, 11:42 PM)عبدالله الدوسري كتب : هل هذا ما تريدة ؟؟؟؟؟

تأثيرات كثيرة موجودة





اخي الف شكر على الاهتمام
وكل التلاشي الى في الفديو جيد ولكن انا اريد 
في اداة picbox تبدأ الصورة في الظهور من يمين الاداة وبعد فترة معينه ولتكن 10 ثواني ثم تختفي من جهة اليسار 
او تبدأ من فوق وتختفي من تحت 
هي نفس فكرة ال metro الى موجود في الويندوز 10 مثلا
عند الضغط على ابدا الويندوز تظهر قائمة مثل في الصورة بالاعلى
ستلاحظ انها بعد فترة قصيرة تتقلب لتظهر معلومات 
انا عاوز نفس التلاشي ده
صلى الله على نبينا محمد
اخيكم / محمود صالح
  قال الزهري رحمه الله  
 مــا عُـــبـِد الله بشئ أفضل من العلم 
الرد
تم الشكر بواسطة:
#6
موضوع المؤثرات أنا كتبته عام 2008 تقريبا بالموقع القديم
و الروابط التالية تم نسخها من الموقع القديم ولكن الكود المرفوع مع الأمثلة لا يعمل

الجزء الرابع : الصور المتحركة

الجزء الثالث : الصور المتحركة

الجزء الثاني : الصور المتحركة

الجزء الأول : الصور المتحركة

من الجزء الثاني الي الجزء الرابع يتم مناقشة المؤثرات علي الصورة

أما عن تطبيق المؤثرات علي PictureBox مباشرة نعم هذا ممكن لكن محتاج بعض الوقت 

و علي ما أظن ان الفيديو و الكود الذي وضعه لك الأخ عبد الله الدوسري يتخدث عن الأجزاء الأربعة أعلاه

االكود أنا نشرته في موقع CodeProject من سنوات طويلة و ربما مع التقدم الحاصل في الدوت نت قد أعيد صياغته مرة ثانية حين أجد بعض الوقت
أما عن انك تريد استخدام Loop من خلال BackgrounndWorker فأنا لا أحبذ ذلك نهائيا لكن الكود يمكن اعادة صياعته بأسلوب أخر لكي يعمل في الخلفية بدون أن يؤثر علي كفاءة التشغيل
Retired
الرد
تم الشكر بواسطة:
#7
أضف الكلاس التالي لمشروعك و هو عبارة عن كونترول
PHP كود :
Imports System.ComponentModel
Imports System
.Drawing.Drawing2D

<DefaultProperty("Image"), DefaultEvent("Enter")>
Public Class 
ImageSlider
    Inherits Control

    Private _timer 
As New System.Timers.Timer()
 
   Private _img As Bitmap
    Private _sliding 
As Boolean False
    Private _startTime 
As DateTime
    Private seconds 
As Integer 3
    Private _speed 
As TimeSpan
    Private _percent 
As Integer 0
    Private _direction 
As SlideDirection SlideDirection.Left

    Public Sub 
New()
 
       MyBase.SetStyle(ControlStyles.ContainerControl Or ControlStyles.UserPaint Or ControlStyles.ResizeRedraw Or ControlStyles.SupportsTransparentBackColor Or ControlStyles.AllPaintingInWmPaint Or ControlStyles.DoubleBuffer Or ControlStyles.OptimizedDoubleBufferTrue)
 
       _speed = New TimeSpan(000seconds0)
 
       AddHandler _timer.ElapsedAddressOf TimerTick
    End Sub

    
<DefaultValue(GetType(SlideDirection), "Left")>
 
   <Description("Gets or set slide direction.")>
 
   <Category("Appearance")>
 
   Public Property Direction As SlideDirection
        Get
            Return _direction
        End Get
        Set
(value As SlideDirection)
 
           _direction value
            Invalidate
()
 
       End Set
    End Property

    
<DefaultValue(GetType(Bitmap), "")>
 
   <Description("Gets or set iamge.")>
 
   <Category("Appearance")>
 
   Public Property Image() As Bitmap
        Get
            Return _img
        End Get
        Set
(value As Bitmap)
 
           _img value
            Me
.Invalidate()
 
       End Set
    End Property

    Protected Overloads Overrides ReadOnly Property DefaultSize
() As Size
        Get
            Return 
New Size(150150)
 
       End Get
    End Property

    Public Sub Slide
()
 
       Me.Slide(42)
 
   End Sub

    Private Sub Slide
(interval As Integer)
 
       If interval 100 Then
            interval 
100
        End 
If
 
       _timer.Interval interval
        _timer
.Enabled True
        _percent 
0
        _startTime 
DateTime.Now
        _sliding 
True
        Invalidate
()
 
   End Sub

    Private Sub StopSliding
()
 
       _sliding False
        _timer
.Enabled False
    End Sub

    Protected 
Function DrawImage(As Graphicsrect As Rectangledirction As SlideDirection)
 
       If _img IsNot Nothing Then
            Dim mx 
As Matrix CType(NothingMatrix)
 
           If _sliding Then
                Select 
Case Direction
                    Case SlideDirection
.Down
                        mx 
= New Drawing2D.Matrix(10010, (rect.Height _percent 100) - rect.Height)
 
                       Exit Select

                    Case SlideDirection
.Left
                        mx 
= New Drawing2D.Matrix(1001, -(rect.Width _percent 100) + rect.Width0)
 
                       Exit Select

                    Case SlideDirection
.Right
                        mx 
= New Drawing2D.Matrix(1001, (rect.Width _percent 100) - rect.Width0)
 
                       Exit Select

                    Case SlideDirection
.Top
                        mx 
= New Drawing2D.Matrix(10010, -(rect.Height _percent 100) + rect.Height)
 
                       Exit Select
                End Select
                g
.Transform mx
                g
.DrawImage(_imgrect00_img.Width_img.HeightGraphicsUnit.Pixel)
 
               If mx IsNot Nothing Then
                    mx
.Dispose()
 
               End If
 
           Else
                g
.DrawImage(_imgrect00_img.Width_img.HeightGraphicsUnit.Pixel)
 
           End If

 
       End If
 
   End Function

 
   Private Sub TimerTick(source As ObjectAs System.Timers.ElapsedEventArgs)
 
       Dim span As TimeSpan DateTime.Now _startTime
        _percent 
CSng((100.0F _speed.TotalSeconds span.TotalSeconds))
 
       If _percent 100 Then
            _percent 
100
        End 
If
 
       Invalidate()
 
   End Sub

    Protected Overrides Sub OnPaint
(As PaintEventArgs)
 
       MyBase.OnPaint(e)
 
       Dim rect As Rectangle ClientRectangle
        Using borderPen 
As Pen = New Pen(If(Me.BackColor.GetBrightness 0SystemColors.ControlLightSystemColors.ControlDark))
 
           e.Graphics.DrawRectangle(borderPenrect.Xrect.Yrect.Width 1rect.Height 1)
 
       End Using

        rect
.+= 2
        rect
.+= 2
        rect
.Width -= 4
        rect
.Height -= 4
        Me
.DrawImage(e.Graphicsrect_direction)

 
   End Sub

    Protected Overrides Sub Dispose
(disposing As Boolean)
 
       MyBase.Dispose(disposing)
 
       RemoveHandler _timer.ElapsedAddressOf TimerTick
        If _timer IsNot Nothing Then
            _timer
.Dispose()
 
           _timer Nothing
        End 
If
 
   End Sub

    Public Enum SlideDirection
        Left
        Right
        Top
        Down
    End Enum

End 
Class 

اغمل Build للكلاس بعدها ستجده في ToolBox الخاصة ب الفيجوال استوديو
اسحب الكونترول الي الفورم
أضف صورة للكونترول من خلال Property إسمها Image
حدد إتجاه حركة الصور من Property إسمها Direction

في الحدث Enter الخاص بالكونترول

اكتب الكود بالشكل التالي


PHP كود :
   Private Sub ImageSlider1_Enter(sender As ObjectAs EventArgsHandles ImageSlider1.Enter
        Dim slider 
As ImageSlider CType(senderImageSlider)
 
       slider.Direction ImageSlider.SlideDirection.Top
        slider
.Slide()
 
   End Sub 
في الكود هنا انا غيرت الاتجاه لأوضح لك كيفية تغيير اتجاه الحركة برمجيا
Retired
الرد


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] ممكن طريقة تشفير اداة لعدم سرقتها jam3h 3 212 14-10-20, 11:20 AM
آخر رد: jam3h
  [سؤال] ممكن طريقة اخفاء ملف bat عند ضغط على زر في اداة jam3h 10 451 25-09-20, 02:55 PM
آخر رد: Anas Mahmoud
  [سؤال] احصاء كل عناصر الصور في المشروع في مصفوفة عبد الهادي بهاب 11 780 22-09-20, 03:45 PM
آخر رد: عبد الهادي بهاب
  لدي مشكلة فى استخدام اداة Chart nabil.1710 1 223 16-09-20, 01:14 AM
آخر رد: حريف برمجة
  [سؤال] لدي اداة فيها اوامر تعمل كتشغيل مسؤل واوامر تعمل بدون تشغيل كمسؤل jam3h 9 317 13-09-20, 12:54 AM
آخر رد: T 1
  [سؤال] مشكلة اللغة العربية في اداة Listbox saleh101 7 466 16-08-20, 03:02 AM
آخر رد: saleh101
Lightbulb [VB.NET] مشروع برنامج لعرض الصور Doctor GME 5 671 03-08-20, 08:41 PM
آخر رد: ابراهيم ايبو
  مساعدة في تطبيق هذا الدرس لتحديث اداة WebBrowser ahmedhhh2 6 1,238 02-06-20, 11:30 AM
آخر رد: ahmedhhh2
  [سؤال] عرض الصور من قاعدة البيانات الي picture فيجوال بيسك منه 10 770 01-06-20, 11:26 AM
آخر رد: سعود
  [سؤال] سؤال حول اداة Grid control ؟ منه 3 352 30-05-20, 07:02 AM
آخر رد: asemshahen5

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم