请教C#中如何绘制水平标尺和垂直标尺,还有如何实现手形移动图片这样的功能

xiaoyue520 2008-09-09 03:03:07
如题

1.如何绘制水平标尺和垂直标尺

2.如何实现手形工具(移动图片)这样的功能


...全文
685 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoyue520 2008-09-12
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 hustcyb 的回复:]
移动图片的例子:

C# code
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();

SetS…
[/Quote]

这方法闪动的太厉害了吧
优途科技 2008-09-10
  • 打赏
  • 举报
回复
不明白!
nbaxccnd 2008-09-09
  • 打赏
  • 举报
回复
http://hi.baidu.com/myselfdone/blog/item/def8fdfda707b246d6887d59.html
xiaoyue520 2008-09-09
  • 打赏
  • 举报
回复
汗,当然是winform的,绘制成什么样都无所谓,告诉方法就行
hustcyb 2008-09-09
  • 打赏
  • 举报
回复
移动图片的例子:

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();
}
}
}
ojekleen 2008-09-09
  • 打赏
  • 举报
回复
lz揭帖率:96.55%
是WIN还是WEB?都没搞明白
wangleipin 2008-09-09
  • 打赏
  • 举报
回复
这个问的太笼统了啊,到底标尺要画成什么样的,你需要根据实际,进行绘制呀
GentleCat 2008-09-09
  • 打赏
  • 举报
回复
1: 这是个数学上的问题,每改变一次视图大小(比例尺),就计算一下屏幕像素与实际长度之后的关系,然后绘制标尺.
这个问题,我想如果你做过矢量图形绘制方面的话一定没什么问题;

2: 手形工具实际上就是一个鼠标指针的替换问题,如果不用API,那在C#只支持单色光标,即黑和白两种颜色,其他都不行.
至于移动图片,其实就是记录鼠标按下和弹起时的位置关系,然后重新drawimage;

110,567

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧