使用picturebox显示图片,如果图片大小大于picturebox的大小,则图片会显示不全,而且也没有滚动条,如何才能加上滚动条让图片显示全(MSDN上的例子我试了,好像不行)部分代码:
viewData_pictureBox.SizeMode=PictureBoxSizeMode.Normal;
viewData_pictureBox.Image=Image.FromFile("c:\\tempfile",false);
viewData_pictureBox.SizeMode=PictureBoxSizeMode.Normal;
viewData_pictureBox.Image=Image.FromFile("c:\\tempfile",false);
图片会自动按照比例缩放来完全显示在你的PictureBox中。
现在的问题是picturebox是固定大小的,如果图像比picturebox大的话怎样才能出滚动条滚动图像
可是设成StretchImage模式的话图像会失真,现在要的就是原样显示,怎么才能出滚定条MSDN上到是有个示例,我试了下,好像还是有问题,望各位DX解答
我想那你可以来调整显示图片的这个界面来实现图片大不完全显示的问题.
this.Height = 窗体中除了pictureBox控件的总高度(picturebox放窗体的最底下) + image.Height;
//判断加了图片高度后高度是否大于原来的窗体高度
if(this.Height > Screen.GetWorkingArea(this).Height || this.Width > Screen.GetWorkingArea(this).Width)
{
//是否实现自动滚动
this.AutoScroll = true;
//重新设置窗体的大小
Size size = new Size(Screen.GetWorkingArea(this).Width,Screen.GetWorkingArea(this).Height);
//获取窗体可调整到的最大大小
this.MaximumSize = size;
this.Refresh();
}
else
{
this.AutoScroll = false;
Size size = new Size(0,0);
this.MaximumSize = size;
this.Refresh();
}
谢谢你帮我想的这个方法,但是我需要的是所有控件和窗体的大小不变,因为目前这个窗体上还有其他控件,而且整个窗体大小是不可以变
然后 把 panel的AutoScroll 设置为true,
同时你将picturebox 大小设置成 图片的大小。
this.picturebox.width = this.image.width
this.picturebox.height = this.image.height这样picturebox 大于 panel的时候,就可以用滚动条让图片显示全