PDA

View Full Version : resize کردن فرم و عکس داخل picturebox



علیرضا.ا
چهارشنبه 29 آبان 1392, 15:21 عصر
سلام

من توی فرمم که پیکچر باکس دارم
میخام با ریسایز کردن فرم عکس داخل پیکچر باکس هم با همون نسبت اولیه کوچیک و بزرگ بشه
باید چیکار کنم؟

sagggad
چهارشنبه 29 آبان 1392, 15:34 عصر
خاصیت Size mode پیکچرباکست رو رویStretch image تنظیم کن وبعد در روبداد Resize فرمت دوخط کد زیر روبنویس:
PictureBox1.Width = Me.Width
PictureBox1.Height = Me.Height

علیرضا.ا
چهارشنبه 29 آبان 1392, 16:53 عصر
برای اینکه نسبت تصویر داخل پیکچر باکس به هم بخوره با این تابع عکس رو به اندازه ی پیکچرباکس کم و زیاد میکنم:


Public Function ScaleImage(ByVal OldImage As Image, ByVal TargetHeight As Integer, ByVal TargetWidth As Integer) As System.Drawing.Image

Dim NewHeight As Integer = TargetHeight
Dim NewWidth As Integer = NewHeight / OldImage.Height * OldImage.Width

If NewWidth > TargetWidth Then
NewWidth = TargetWidth
NewHeight = NewWidth / OldImage.Width * OldImage.Height
End If
Return New Bitmap(OldImage, NewWidth, NewHeight)

End Function

فراخانی:


Dim bmp As New Bitmap(OpenFileDialog1.FileName)
If bmp.Height > PictureBox1.ClientSize.Height Then
PictureBox1.Image = ScaleImage(Image.FromFile(OpenFileDialog1.FileName ), PictureBox1.Height, PictureBox1.Width)
End If
If bmp.Width > PictureBox1.ClientSize.Width Then
PictureBox1.Image = ScaleImage(Image.FromFile(OpenFileDialog1.FileName ), PictureBox1.Height, PictureBox1.Width)
End If

با این تابع عکس بعد از باز شدن درست تنظیم میشه ولی بعد از ریسایز شدن باید دوباره عکس رو انتخاب کنم تا با اندازه ی جدید پیکچر باکس ست بشه....

mesiiran
چهارشنبه 29 آبان 1392, 19:08 عصر
مشترک گرامی دسترسی به این پست امکانپذیر نمی باشد

علیرضا.ا
چهارشنبه 29 آبان 1392, 20:09 عصر
عکس با openfiledialog خونده میشه

Hossis
چهارشنبه 29 آبان 1392, 22:41 عصر
خاصیت Size mode پیکچرباکست رو رویStretch image تنظیم کن بعدش خاصیت Anchur مربوط به پیکچر باکس رو برابر چهار جهت قرار بده

علیرضا.ا
پنج شنبه 30 آبان 1392, 11:53 صبح
اگه خاصیت رو روی استرچ مود بزارم دیگه عکس با نسبت اصلی نشون داده نمیشه!!!!

AliRezaBeytari
پنج شنبه 30 آبان 1392, 19:24 عصر
از خصوصیت Dock میتونید استفاده کنید !

علیرضا.ا
پنج شنبه 30 آبان 1392, 20:28 عصر
از خصوصیت Dock میتونید استفاده کنید !

Dock رو چیکار کنم؟

AliRezaBeytari
جمعه 01 آذر 1392, 12:02 عصر
میتونید ، بر روی Center قرار بدید تا تمام صفحه شه !
یا میتونید ، بر روی Up قرار بدید تا در بالای فرم قرار بگیری !
همچنین ، تنضیمات Advance هم داره !

علیرضا.ا
جمعه 01 آذر 1392, 12:07 عصر
میتونید ، بر روی Center قرار بدید تا تمام صفحه شه !
یا میتونید ، بر روی Up قرار بدید تا در بالای فرم قرار بگیری !
همچنین ، تنضیمات Advance هم داره !

خو این مگه به عکس داخل پیکچر باکس هم مربوط میشه؟؟؟؟

Hossis
جمعه 01 آذر 1392, 12:12 عصر
اگه خاصیت رو روی استرچ مود بزارم دیگه عکس با نسبت اصلی نشون داده نمیشه!!!!
خاصیت زوم رو امتحان کن

علیرضا.ا
جمعه 01 آذر 1392, 12:51 عصر
اون خاصیت هم به کار نمیاد!
کلا هیچ کدوم از خواص خود وی بی به کار نمیاد
فکر کنم من یه باید در لحظه ی ریسایز شدن تابع رو دوباره فراخوانی کنم تا عکس با اندازه ی جدید ست بشه

علیرضا.ا
دوشنبه 04 آذر 1392, 20:56 عصر
کسی چیزی به ذهنش نرسید؟

systam
سه شنبه 05 آذر 1392, 14:32 عصر
سلام
دوستمون هم جواب دادند
از خصوصیت Dock میتونید استفاده کنید

بگردتوی سات پیدا میکنی

علیرضا.ا
سه شنبه 05 آذر 1392, 23:35 عصر
خب من از داک استفاده میکنم
محل خود پیکچر باکس عوض میشه نه عکس داخل اون!