PDA

View Full Version : سوال: 3 سوال در مورد Picturebox



just4froum
جمعه 15 مهر 1390, 12:14 عصر
با سلام به همگی

1- فرض کنید ما دوتا picturebox داریم و در یکیشم یک تصویر حالا چطور میشه تصویر picturebox اولی رو تو دومی کپی کرد (یعنی اولی یک تصویریو از یک فایل بخونه و دومی تصویرشو از اولی !!!)

2- چطوری میشه تصویرو resize کرد یعنی ابعادشو بزرگتر کرد یا کوچیک تر ؟؟؟

3- و آخریش حالا چطوری میشه تصویری که سایزش تغییر کرده رو ذخیره کرد ؟؟؟ آیا میشه با پسوند ico ذخیره کنم یا باید حتما bmp باشه


با تشکر

MohammadGh2011
جمعه 15 مهر 1390, 12:36 عصر
2- چطوری میشه تصویرو resize کرد یعنی ابعادشو بزرگتر کرد یا کوچیک تر ؟؟؟
سلام عليکم
دوست عزيز بهت پيشنهاد ميکنم از کنترل picture استفاده نکن از Image استفاده کن
چون picturebox خاصيت stretch نداره ولي ImageBox داره و هم بهتره
از اين کد ميتوني تصوير رو کوچک کني

Image1.Height = Image1.Height - 100
Image1.Width = Image1.Width - 100
و از اين ميتوني تصوير رو بزرگ کني

Image1.Height = Image1.Height + 100
Image1.Width = Image1.Width + 100

فقط يه imagebox به فورمت بيار و اين کدهارو تو يک کامند بريز و خاصيت Stretch ايميج رو برابر با True کن

=========================================

1- فرض کنید ما دوتا picturebox داریم و در یکیشم یک تصویر حالا چطور میشه تصویر picturebox اولی رو تو دومی کپی کرد (یعنی اولی یک تصویریو از یک فایل بخونه و دومی تصویرشو از اولی !!!)
منظورت رو درست متوجه نشدم اين رو امتحان کن

Picture2.Picture = Picture1.Picture


موفق باشيد

محسن واژدی
جمعه 15 مهر 1390, 12:52 عصر
سلام علیکم
برای تغییر دادن اندازه تصویر موجود در picturebox میتوانید از کد زیر استفاده کنید
دو picturebox با نام های picture1,2 و یک commandbutton بر روی فرم قرار بدین، سپس در pic1 تصویر را اضافه کنید ، و کد های زیر را امتحان کنید


Private Sub Command1_Click()
Picture1.AutoRedraw = True

Picture1.ScaleMode = vbPixels

Picture2.Picture = Picture1.Picture

Picture1.Picture = LoadPicture

Picture1.PaintPicture Picture2.Picture, 0, 0, 100, 100

Picture1.Picture = Picture1.Image

End Sub


موفق باشید

just4froum
جمعه 15 مهر 1390, 12:54 عصر
دوست عزیز من در اصل میخوام خود عکسو تغییر سایز بدم بعد ذخیره کنم اما اگر stretch رو true کنیم و .. سایز imagebox رو تغییر دادیم نه عکس .

در مورد دومی هم باید بگم درسته جالب اینجاست که خودم صد بار این کارو امتحان کرده بودم حتی دقیقا با این کد اما نمیدونم چرا کار نکرده بود نمیدونم شاید زیادی خسته بودم نفهمیدم دارم چی میزنم اصلا چرا دارم اینارو میگم !!!

بازم دستت درد نکنه

just4froum
جمعه 15 مهر 1390, 13:06 عصر
با تشکر از آقای واژدی

اما سوال سوم حالا من چطوری ذخیرش کنم ؟؟؟

واقعا نمیدونم چطوری از دوستان تشکر کنم :متفکر::متفکر::متفکر:

MohammadGh2011
جمعه 15 مهر 1390, 13:14 عصر
براي ذخيره کردن هم از کد زير استفاده کن(کد آقاي واژدي که لطف کردند بهم دادند)

CommonDialog1.Filter = "Bitmap files |*.bmp||"
CommonDialog1.ShowSave

If CommonDialog1.FileName > "" Then
Call SavePicture(Picture1.Picture, CommonDialog1.FileName)
End If
فقط بايد يک کامند ديالوگ رو به فورمت اضافه کني از منوي کامپوننت ها.


موفق باشيد

just4froum
جمعه 15 مهر 1390, 13:21 عصر
دست همگی درد نکنه فقط چرا حجم عکسو انقدر زیاد میکنه !!!

من یه عکس 300 kb را بهش میدم با همون فرمت که ذخیره میکنه میشه 6.5 mg ولی بازم ممنون کارم راه افتاد

راستی از آقای واژدی هم ممنونم.