如何给wpf中inkcanvas画板画笔画出的线加上动画 wpf 中inkcanvas画板中ink模式下,画笔画出的线,怎么加上动画,最好是画完一笔后才开始动画,这个效果怎么实现呢?动画效果就是透明度有1变为0,高手指教一下吧。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 在StrokeCollected的事件中加个定时器修改Stroke的Color的Alpha值。using System.Threading; private Dictionary<Stroke, Timer> dicTimer = new Dictionary<Stroke, Timer>(); private void InkCanvas_StrokeCollected(object sender, InkCanvasStrokeCollectedEventArgs e) { Timer t1= new Timer(new TimerCallback(ChangeOpacity), e.Stroke, 100, 100); dicTimer.Add(e.Stroke, t1); } private void ChangeOpacity(Object obj) { Stroke line = obj as Stroke; Color linecolor = line.DrawingAttributes.Color; if (linecolor.ScA > 0) linecolor.ScA -= 0.1f; this.Dispatcher.BeginInvoke(new Action(() => { line.DrawingAttributes.Color = linecolor; })); if (linecolor.A <= 0) { dicTimer[line].Dispose(); dicTimer.Remove(line); } } C语言中形参是如何进行地址传送的?? vs2005语言设置 数据库重新连接的问题。 窗口始终保持非激活状态 visual studio 2010 中菜单栏不见了,怎么搞? 请教:验证<a href>到</a>之间的正则表达式怎么写? 关于窗体的静态属性的用法(C#、C/S) Pocket Pc2003 如何用WebService访问Oracle数据库 求SQL Server Management Studio数据库教程 最好视频 OleDb 如何将DateTime类型的参数传入到存储过程? 有4个数字,随机输出一个数字,求代码 其他信息: 未将对象引用设置到对象的实例。帮忙看看问题出在哪里
{
Timer t1= new Timer(new TimerCallback(ChangeOpacity), e.Stroke, 100, 100);
dicTimer.Add(e.Stroke, t1);
} private void ChangeOpacity(Object obj)
{
Stroke line = obj as Stroke;
Color linecolor = line.DrawingAttributes.Color;
if (linecolor.ScA > 0)
linecolor.ScA -= 0.1f;
this.Dispatcher.BeginInvoke(new Action(() => { line.DrawingAttributes.Color = linecolor; }));
if (linecolor.A <= 0)
{
dicTimer[line].Dispose();
dicTimer.Remove(line);
}
}