我正在使用WinForms.在我的表格中我有一个picturebox
.它的sizemode设置为Zoom
.如果我将图像加载到picturebox
图像中将根据picturebox
尺寸进行缩放.
我想知道如何在内部获得缩放图像的大小picturebox
.
这些是我尝试过的一些东西,但这并没有给我我想要的结果.
private void Debug_Write_Click(object sender, EventArgs e) { //var pictureWidth = pictureBox1.ClientSize.Width; //This gives the size of the picturebox //var picturewidth1 = pictureBox1.Image.Width; This gives the actual size of the image //var pictureHight = pictureBox1.ClientSize.Height; //This gives the size of the picturebox //var pictureHight1 = pictureBox1.ClientSize.Height; This gives the actual size of the image Debug.WriteLine("Width: " + pictureWidth.ToString() + " Height: " + pictureHight.ToString()); }
示例:图像的实际大小
Picturebox
大小模式设置为Zoom
,因此它根据我的picturebox
大小缩放图像:
如何找到此图像的缩放长度和宽度?
你应该做数学!
Image img = //...; PictureBox pb = //...; var wfactor = (double)img.Width / pb.ClientSize.Width; var hfactor = (double)img.Height / pb.ClientSize.Height; var resizeFactor = Math.Max(wfactor, hfactor); var imageSize = new Size((int)(img.Width / resizeFactor), (int)(img.Height / resizeFactor));