نه داداش . منم تست کردم هیچ مشکلی نداره و Autoredraw هم false نمیشه.:13:نقل قول:
نه داداش . منم تست کردم هیچ مشکلی نداره و Autoredraw هم false نمیشه.:13:نقل قول:
ای دوست کسی [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] VBYOFSKI ... این لینک شما دچار علت است ...
اگر مشکل لینک نمی حلّد کد مربوطه رو بنویس ما (من و سایرین) توی محیط جم و جورش می کنیم ؛ اصل فقط اینه که بدونم از چه آرگومانی استفاده کنم .کد:http://sefr01.persiangig.com/pset.zip
خوب بذار نشه ...نقل قول:
نه داداش . منم تست کردم هیچ مشکلی نداره و Autoredraw هم false نمیشه. [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
مشکلم اینه که با پایان رسیدن نقطه گذاری با Step بتونیم از اون محتوا عکس ذخیره کنیم ...
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] VBYOFSKI خوب حالا اینو سیر کن
در همون لینک برنامهای که داده بودی ، منظور از گام ، گام برای شمارنده بود
خوب ؛ حالا این برنامه رو در ویژوال بیسیک 6 آزمایش کن(البته بهتره توی همون فایلی که لینکشو برای دانلود گذاشتی استفاده کنی) ، بعد از کمی صبر یه نمودار کوسینوسی رو رسم میکنه . ولی بدون نشون اینکه دقت در گام شمارنده رو برای ما بنمایانه
کد:Private Sub Command1_Click()
'Picture1.AutoRedraw = False
Dim x, y As Double
For x = 0 To 5520 Step 0.01
y = 500 * (Cos(x / 500)) + 1000
Picture1.PSet (x, y)
'Picture1.AutoRedraw = True
Next x
SavePicture Picture1.Image, "c:/a.bmp"
End Sub
خوب دیدی که به طور پیشفرض این دوستمون اوتودراو پابرجاست
ولی اگر این اوتودراو رو نادرستش کنی ، با اون دقت گامهاش برات نشون میده : مثل کد زیرکد:
Private Sub Command1_Click()
Picture1.AutoRedraw = False
Dim x, y As Double
For x = 0 To 5520 Step 0.01
y = 500 * (Cos(x / 500)) + 1000
Picture1.PSet (x, y)
Picture1.AutoRedraw = True
Next x
SavePicture Picture1.Image, "c:/a.bmp"
End Sub
حتی اگر باور نداری که اوتودراو در اول پابرجاست از پیغام کمک بگیر
کد:
Private Sub Form_Load()
Peykham = Picture1.AutoRedraw
MsgBox Peykham, vbOKOnly
End Sub
حالا فک کنم منظورمو فهمیدی
فهرست فارسی شده کلمات :
گام = Step
کوسینوس= Cos(alfa)
اوتودراو= AutoDraw
پابرجا = True
نادرست = False
کد= Code
پیغام=MassageBox (MsgBox)
شمارنده= For i=x to y
اینا رو نوشتم چون نمیتونستم بین کلمات فارسی از واژهی انگلیسیاش استفاده کنم
سلام.
اول اینکه من منظورت رو از Step اشتباه متوجه شدم.
تو این دوتا قطعه کدی که شما گذاشتی هر دو یه کار رو انجام میدن و هر دو هم عکس رو سیو میکنن. فقط فرقشون اینه که چون دومی برای کشیدن نقطه اول Autoredraw نادرست هست کشیده شدن اون نقطه رو نشون میده.
من دقیق منظورتو از این حرف متوجه نشدم. اگه منظورت اینه که کاربر کشیده شدن خط رو توی Picturebox ببینه که باید بگم کدی که گذاشتی این کار رو نمبکنه و باید اون Autoredraw توی حلقه برداشته بشه که در این صورت عکس دخیره نمیشه چون Autoredraw نادرست هست. اگه منظورت از این حرف چیزه دیگست بهم بگو.نقل قول:
ولی اگر این اوتودراو رو نادرستش کنی ، با اون دقت گامهاش برات نشون میده : مثل کد زیر
در کل Autoredraw خودش False و True نمیشه و همونطور که برنامه نویس تعیین کرده میمونه تا اینکه برنامه نویس بازم اونو تغییر بده و برای دخیره کردن اشکال کشیده شده با توابع گرافیکی باید Autoredraw درست (True) باشه در غیر اینصورت چیزی ذخیره نمیشه.
خوب پس با استفاده از اون چطور می تونم کاری که میخوام انجام بدم ... (یعنی همون که کاربر بتونه ببینه و بعدش که تموم شد ذخیره شه ) .نقل قول:
کاربر کشیده شدن خط رو توی Picturebox ببینه که باید بگم کدی که گذاشتی این کار رو نمبکنه و باید اون Autoredraw توی حلقه برداشته بشه که در این صورت عکس دخیره نمیشه چون Autoredraw نادرست هست.
منم که ننوشتم خودش False یا True میشه ؛ نوشتم که به طور پیشفرض False .(شاید در تفهیم نوشته ها مشکل شده)نقل قول:
در کل Autoredraw خودش False و True نمیشه
خوب اگه برنامهای داری که با اون بتونم به خواستهی سادهام برسم ، کمک کردی ...
اگه Autoredraw توی حلقه رو False کنی و بعد قبل ذخیره شدن عکس Autoredraw رو True کنی این کار رو انجام میده.نقل قول:
اگر منظورت این جوریه ، کار نمیکنه (یعنی بعد از True شدن AutoRedraw صفحه رو پاک میکنه(Cls) )
و بعد صفحهی پاک شده رو ذخیره میکنه !!!!!کد:
Private Sub Command1_Click()
Dim x, y As Double
For x = 0 To 5520 Step 0.01
y = 500 * (Cos(x / 500)) + 1000
Picture1.PSet (x, y)
Picture1.AutoRedraw = False
Next x
Picture1.AutoRedraw = True
SavePicture Picture1.Image, "c:/a.bmp"
End Sub
من اینکاری رو که گفتم امتحان نکرده بودم و فکر میکردم که درست انجام میشه و اینکه چرا خطوط چاپ شده پاک شدن واسم سواله.نقل قول:
برای اینکه به تونی اون چیزیو که میخوای هم نمایش بدی هم ذخیره کنی میتونی از یه Picturebox دیگه که َAutoredraw اون True هست کمک بگیری که کار ذخیره کردن عکس رو اون انجام بده و کار نمایش عکس رو Picturebox اول. یعنی اینجوری:
کد:Dim x, y As Double
Picture1.AutoRedraw = False
Picture2.AutoRedraw = True
For x = 0 To 5520 Step 0.01
y = 500 * (Cos(x / 500)) + 1000
Picture1.PSet (x, y)
Picture2.PSet (x, y)
Next x
SavePicture Picture2.Image, "c:/a.bmp"
نقل از دوستمون : Vbyofski
په دوست من خدا رحمتت کنه !!! این کارا برای یه برنامه افتضاحه ... ولیک دستت درست ...نقل قول:
میتونی از یه picturebox دیگه که َautoredraw اون true هست کمک بگیری که کار ذخیره کردن عکس رو اون انجام بده و کار نمایش عکس رو picturebox اول.
برا منم یه سوال شده بود و هست و لیک از دست برنامههای ساخت گرا ...