各位好,我现在设置了一个二维坐标,一个x坐标轴,一个y坐标轴,然后在这个坐标系上画了一条曲线,
现在窗口上增加了两个按钮,一个"放大",一个"缩小",想实现那种点击放大原图放的功能,要求图的原点坐标不变,各位请指教!

解决方案 »

  1.   

    Graphics.ScaleTransform(float, float);具体用法清察看  Graphics 类, 所有成员
      

  2.   

    如果用Graphics.ScaleTransform()方法,图片是缩放了,但是不是楼主想要的,因为这样会整体的缩放,而不要楼主要的在原位置楼主可以使用二级缓存,具体如下:Bitmap bmp = null;//二级缓存,不直接对原Graphics,因为有偏移,还可以缩放。
    bmp = new Bitmap(recPrintArea.Width,recPrintArea.Height);  //在此指定大小
    Graphics gImg = Graphics.FromImage(bmp);
    gImg.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
    gImg.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias;这样,你就可以直接在gImg上画然后应用
    g.DrawImage(bmp,x,y);  //g是你原绘图表面,x,y就是你要定位的点,还可以指定目标矩形区实现缩放