| | |
Problem with Picture Box resizing
Please support our VB.NET advertiser: Intel Parallel Studio Home
![]() |
•
•
Join Date: Jun 2008
Posts: 89
Reputation:
Solved Threads: 7
This may sounds stupid. I'm new to VB.net. My problem is that all the size of my picture box kept running.
1. I'm not sure is it because i set the form's backbgroundimagelayout to "Stretch" and all Picturebox's sizemode to "Stretch Image".
2. When i start my app on another pc (which has diff resolution), the picture box size will change automatically.
3. When i added something to my form, again.... Picturebox size change and overlap each other.
Suggestionss????
1. I'm not sure is it because i set the form's backbgroundimagelayout to "Stretch" and all Picturebox's sizemode to "Stretch Image".
2. When i start my app on another pc (which has diff resolution), the picture box size will change automatically.
3. When i added something to my form, again.... Picturebox size change and overlap each other.
Suggestionss????
•
•
Join Date: Feb 2008
Posts: 15
Reputation:
Solved Threads: 0
Try this code it should automatically resize ur pictures
•
•
•
•
Imports System.IO Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load End Sub Public Sub AutosizeImage(ByVal ImagePath As String, ByVal picBox As PictureBox, Optional ByVal pSizeMode As PictureBoxSizeMode = PictureBoxSizeMode.CenterImage) Try picBox.Image = Nothing picBox.SizeMode = pSizeMode If System.IO.File.Exists(ImagePath) Then Dim imgOrg As Bitmap Dim imgShow As Bitmap Dim g As Graphics Dim divideBy, divideByH, divideByW As Double imgOrg = DirectCast(Bitmap.FromFile(ImagePath), Bitmap) divideByW = imgOrg.Width / picBox.Width divideByH = imgOrg.Height / picBox.Height If divideByW > 1 Or divideByH > 1 Then If divideByW > divideByH Then divideBy = divideByW Else divideBy = divideByH End If imgShow = New Bitmap(CInt(CDbl(imgOrg.Width) / divideBy), CInt(CDbl(imgOrg.Height) / divideBy)) imgShow.SetResolution(imgOrg.HorizontalResolution, imgOrg.VerticalResolution) g = Graphics.FromImage(imgShow) g.InterpolationMode = Drawing2D.InterpolationMode.HighQualityBicubic g.DrawImage(imgOrg, New Rectangle(0, 0, CInt(CDbl(imgOrg.Width) / divideBy), CInt(CDbl(imgOrg.Height) / divideBy)), 0, 0, imgOrg.Width, imgOrg.Height, GraphicsUnit.Pixel) g.Dispose() Else imgShow = New Bitmap(imgOrg.Width, imgOrg.Height) imgShow.SetResolution(imgOrg.HorizontalResolution, imgOrg.VerticalResolution) g = Graphics.FromImage(imgShow) g.InterpolationMode = Drawing2D.InterpolationMode.HighQualityBicubic g.DrawImage(imgOrg, New Rectangle(0, 0, imgOrg.Width, imgOrg.Height), 0, 0, imgOrg.Width, imgOrg.Height, GraphicsUnit.Pixel) g.Dispose() End If imgOrg.Dispose() picBox.Image = imgShow Else picBox.Image = Nothing End If Catch ex As Exception MsgBox(ex.ToString) End Try End Sub
Last edited by densman; Apr 5th, 2009 at 8:33 am.
![]() |
| Thread Tools | Search this Thread |
.net .net2008 2008 access advanced application array basic beginner browser button buttons center checkbox click client code combo convert cuesent data database datagrid datagridview date datetimepicker designer dissertation dissertations dissertationtopic eclipse excel exists fade filter forms function generatetags html images input intel internet listview map mobile module monitor msaccess net number objects open panel pdf picturebox picturebox2 port position print printing read regex remove right-to-left save search searchvb.net serial settings shutdown socket sorting sqldatbase sqlserver survey temperature textbox timer timespan transparency txttoxmlconverter user usercontol validation vb vb.net vba vbnet visual visualbasic visualbasic.net visualstudio.net web winforms winsock wpf wrapingcode xml year





