问题描述
请教:自己用Graphics在picturebox里画了些线,如果picturebox的大小在程序运行期间发生改变,如何保证其中所画的线也随着picturebox的缩放而自动成比例的缩放?有没有什么属性可以设置,而不需要重新画线?先谢了!
解决方案
解决方案二:
如果你使用控件的区域作为绘图区域,他必然会在这个区域内绘制,不管你控件多大,除非你发各个坐标写死了
解决方案三:
设置SizeModel属性,该属性对应的枚举说明如下//摘要://指定图像在System.Windows.Forms.PictureBox中的定位方式。publicenumPictureBoxSizeMode{//摘要://图像被置于System.Windows.Forms.PictureBox的左上角。如果图像比包含它的System.Windows.Forms.PictureBox//大,则该图像将被剪裁掉。Normal=0,////摘要://System.Windows.Forms.PictureBox中的图像被拉伸或收缩,以适合System.Windows.Forms.PictureBox//的大小。StretchImage=1,////摘要://调整System.Windows.Forms.PictureBox大小,使其等于所包含的图像大小。AutoSize=2,////摘要://如果System.Windows.Forms.PictureBox比图像大,则图像将居中显示。如果图像比System.Windows.Forms.PictureBox//大,则图片将居于System.Windows.Forms.PictureBox中心,而外边缘将被剪裁掉。CenterImage=3,////摘要://图像大小按其原有的大小比例被增加或减小。Zoom=4,}
解决方案四:
对于picturebox里的Image可以控制缩放,这个我试过。但是用DrawLine话的线就不行,还会因为picturebox的缩放而把线抹掉。
解决方案五:
g.ScaleTransform(2,2);x坐标方向放大两倍y坐标方向放大两倍
解决方案六:
而且在picturebox用DrawLine画的线,当窗口最小化后,再还原,线都不见了,不知道是怎么回事啊?