缩小是可以做到了,但是放大的问题是
我想放大图片某个地方,但是只能把图片放大最大到填满整个容器,可不可以做到放大到整个容器只看得到我想放大的那块区域,
而不是放大到填满容器以后就不能再放大了
那你是用什么实现的放大呢?
如果你是直接GDI+绘制,那肯定不存在你说的限制。
你也可以用个panel套picturebox,图片设置成铺满,然后修改picturebox的位置和大小,这样也不存在大小限制。
if (pictureBox1.Image != null)
{
Brush brush = new SolidBrush(Color.FromArgb(128, 72, 145, 220));
e.Graphics.FillRectangle(brush, Rect);
}
那就设置个大范围到小范围就好了,比如鼠标在中间,放大第一次,图片的小区域出来填充,显示,在放大,小区域的的内部区域在填充
Rect =
new Rectangle(
Math.Min(RectStartPoint.X, tempEndPoint.X),
Math.Min(RectStartPoint.Y, tempEndPoint.Y),
Math.Abs(RectStartPoint.X - tempEndPoint.X),
Math.Abs(RectStartPoint.Y - tempEndPoint.Y));
Invalidate(Rect);