رفتن به مطلب

کلاس ماژول برای اجرای فایل GIF


مجید آرتا

ارسال های توصیه شده

با سلام

خب امروز یک روز قبل از 13 به در سال 95 هستش دیگه فردا بریز بپاشه توی این طبیعت :crazy:  ماهم که توی خونه اسیر برنامه :DD:

خب دوستان یک کلاس ماژولی هستش برای راحتی استفاده دوستان ، با اینکه استفادش هم در حالت عادی راحته ولی خب شاید بخواییم چندین فایل GIF  در ماژول های مختلف داشته باشیم و این خوب نیست که قطعه کدهاش رو همش تکرار کنیم و از قابلیت خوب شی گرایی یعنی کلاس اینجا می تونیم استفاده کنیم :cheshmak:

'Class module
Private Sub Class_Globals
	Private gif As GifDecoder
	Private Frame As Int
	Private t As Timer
	Private ImageView1 As ImageView
End Sub

'Initializes the object. You can add parameters to this method if needed.
Public Sub Initialize(sImageView As ImageView)
ImageView1=sImageView
t.Initialize("T",0)
End Sub
Sub ShowGifAnimation(FilePath As String,Filename As String) 

Try
	gif.DisposeFrames
	gif.Load(FilePath, Filename)
	Frame = 0
	t.Interval = gif.Delay(Frame)	
	ImageView1.Bitmap = gif.Frame(Frame)
	ImageView1.Gravity = Gravity.FILL
	t.Enabled = True
	gif.SaveFrame(0, FilePath, "frame0.png", "P", 100)	
	gif.SaveFrame(0, FilePath, "frame0.jpg", "J", 100)
	
Catch
	Msgbox(LastException.Message,"خطا")
End Try

End Sub
Private Sub T_Tick
	Try
	t.Enabled = False
	Frame = Frame + 1
	If Frame >= gif.FrameCount Then
		Frame = 0
	End If
	t.Interval = gif.Delay(Frame)
	ImageView1.Bitmap = gif.Frame(Frame)
	t.Enabled = True
Catch
	t.Enabled = False
	Msgbox(LastException.Message,"خطا")
End Try
End Sub

فقط کافیه یک کلاس ماژول بسازید و این کدهارو کپی کنید از کتابخونه GIFDecoder  هم استفاده کنید

 

نمونه استفادشم به این شکله :

 Dim load As Loading
 load.Initialize(img)
 load.ShowGifAnimation(File.DirAssets,"716.gif")

بنده اینجا اسم کلاس رو Loading  گذاشتم و شما می تونید یه چیز دیگه بزارید مثلا بزارید پشمک حاج عبدالله :DD:

و در ضمن img  هم ImageView  هستش و از قبل باید Initialize  شده باشه وگرنه با خطا مواجه می شید.

 

AnswerCenter.IR

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...