ورود

View Full Version : سوال: سرعت کارهای گرافیکی



IamOverlord
یک شنبه 17 آبان 1388, 22:43 عصر
سلام دوستان!
چطوری می شه سرعت کارای گرافیکی رو بالا ببریم؟ آیا تابع API هست که در سرعت ترسیم تاثیر داشته باشه؟ یا راه های دیگه ای هست...؟
مثلا یه شی گرافیکی رو (مثل دایره یا بیضی یا...) که با دستور PSet رسم می کنیم، سرعت کار خیلی پایین می یاد. باید چی کار کرد؟؟؟:متفکر:
:چشمک:

xxxxx_xxxxx
یک شنبه 17 آبان 1388, 22:57 عصر
یا تعداد دفعاتی که دستور Pset اجرا میشه رو کاهش بدید. و یا برای رسم اشکال هندسی از توابع Sin و Cos استفاده کنید که محاسبات کمتر و در نتیجه سرعت بیشتری دارند.

IamOverlord
سه شنبه 19 آبان 1388, 23:00 عصر
سلام دوستان!

Sub DrawCircle(PictureBox As PictureBox, X As Variant, Y As Variant, R As Variant, C As Variant)
For j = 0 To R
For i = 0 To R - i
If CInt(Sqr((R - i) ^ 2 + (R - j) ^ 2)) = R Then
PictureBox.PSet (X - R + i, X - R + j), C
PictureBox.PSet (X + R - i, X - R + j), C
PictureBox.PSet (X + R - i, Y + R - j), C
PictureBox.PSet (X - R + i, Y + R - j), C
End If
Next i
Next j
End Sub

با این کد مشکلم حل شد (متشکرم از آقای xxxxx_xxxxx )
کد قبلی که سرعتش پایین بود:

For j = Y - R To Y + R
For i = X - R To X + R
If CInt(Sqr((X - i) ^ 2 + (Y - j) ^ 2)) = R Then
PictureBox.PSet (i, j), C
End If
Next i
Next j