我希望如果我点击图像,它会产生视觉效果,如旋转效果或发光效果,或者在我用鼠标点击的点周围的特定部位上的任何其他效果。例如,如果有人使用Windows手机的UC浏览器的图片密码完全相同我想要的。
我没有尝试任何东西,因为我不了解动画和图形因此我没有尝试任何东西。
public void start()
{
messagebox.show("i haven't tried anything yet no knowledge of animation");
}
这段代码不过是我写的,因为我无法发布问题。
答案 0 :(得分:0)
在Winforms
中,您可以编写如下代码:
int AnimationCounter = 0;
Point AnimationCenter = Point.Empty;
Timer AnimationTimer = new Timer();
private void pictureBox1 _MouseClick(object sender, MouseEventArgs e)
{
AnimationCenter = e.Location;
AnimationTimer.Interval = 20;
AnimationTimer.Start();
}
void AnimationTimer_Tick(object sender, EventArgs e)
{
if (AnimationCounter > 15)
{
AnimationTimer.Stop();
AnimationCounter = 0;
pictureBox1.Invalidate();
}
else
{
AnimationCounter += 1;
pictureBox1.Invalidate();
}
}
private void pictureBox1 _Paint(object sender, PaintEventArgs e)
{
if (AnimationCounter > 0)
{
int ac = AnimationCounter / 2;
e.Graphics.DrawEllipse(Pens.Orange, AnimationCenter.X - ac,
AnimationCenter.Y - ac, ac * 2, ac * 2);
}
}
别忘了hook up the Paint
and MouseClick
event and also the AnimationTimer_Tick
event.!
结果将在您点击的位置绘制一个增长的圆圈,该圆圈将在ca.之后消失。 10 * 20毫秒..
更新:第一个版本因反复挂钩Tick
事件而受到影响。这个测试更好; - )