如题 1.如何绘制水平标尺和垂直标尺
 
 2.如何实现手形工具(移动图片)这样的功能

解决方案 »

  1.   

    1: 这是个数学上的问题,每改变一次视图大小(比例尺),就计算一下屏幕像素与实际长度之后的关系,然后绘制标尺.
    这个问题,我想如果你做过矢量图形绘制方面的话一定没什么问题;2: 手形工具实际上就是一个鼠标指针的替换问题,如果不用API,那在C#只支持单色光标,即黑和白两种颜色,其他都不行.
    至于移动图片,其实就是记录鼠标按下和弹起时的位置关系,然后重新drawimage;
      

  2.   

    lz揭帖率:96.55% 
    是WIN还是WEB?都没搞明白
      

  3.   

    移动图片的例子:    public partial class Form1 : Form
        {
            private Image image = Image.FromFile(@"E:\baby.jpg");   //图片
            private Point position = new Point(0, 0);   //图片左上角在窗体中的位置
            private Point lastPosition;
            private Point mouseDownPosition;        public Form1()
            {
                InitializeComponent();            SetStyle(ControlStyles.AllPaintingInWmPaint | ControlStyles.UserPaint | ControlStyles.OptimizedDoubleBuffer, true); //启用双倍缓冲
            }        private void Form1_Paint(object sender, PaintEventArgs e)
            {
                Graphics dc = e.Graphics;            dc.DrawImage(image, position);
            }        private void Form1_MouseDown(object sender, MouseEventArgs e)
            {
                mouseDownPosition = e.Location;
                lastPosition = position;
            }        private void Form1_MouseMove(object sender, MouseEventArgs e)
            {
                if (e.Button == MouseButtons.Left)
                {
                    position.X = lastPosition.X + e.X - mouseDownPosition.X;
                    position.Y = lastPosition.Y + e.Y - mouseDownPosition.Y;                Refresh();
                }
            }
        }
      

  4.   

    汗,当然是winform的,绘制成什么样都无所谓,告诉方法就行
      

  5.   

    http://hi.baidu.com/myselfdone/blog/item/def8fdfda707b246d6887d59.html