在foundation silverligh3 animation 书中前3章讲述基本的transform,blur,这次读书笔记的内容就是图片效果(image effect),裁剪(clippingpath),拖拽(draganddrop)这几个动画效果。
图片效果:,在blend中的Appearance标签下 选择Effect new,弹出对话框,可以看到BlurEffert,DropShadowEffec,
图中的效果就是图片的模糊的效果
clippingpath(裁剪):用一个图形去裁剪另外一个。创建一个clippingpath有3种方式,
1.使用code-behind文件,有blend,这种方式一般不太会用得到
2.在blend中的画板上选择一个你想裁剪的对象然后去Ctrl-click第二个对象
3.直接在Xaml中创建裁剪路径是创建一个裁剪区域。
这章图片的大小是320*240,被一个80*60的矩形裁剪为16个小的矩形。在xmal也面有16个这样的代码段
<Image Width="320" Height="240" Source="beeFlower640x480.jpg" Stretch="Fill" x:Name="Row0Col1" RenderTransformOrigin="0.5,0.5" Canvas.Top="1">
<Image.RenderTransform>
<TransformGroup>
<ScaleTransform/>
<SkewTransform/>
<RotateTransform/>
<TranslateTransform/>
</TransformGroup>
</Image.RenderTransform>
<Image.Clip>
<RectangleGeometry Rect="80, 0, 80, 60"/>
</Image.Clip>
</Image>
关键部分: <Image.Clip> <RectangleGeometry Rect="80, 0, 80, 60"/> </Image.Clip>RectangleGeometry
<RectangleGeometry Rect="80, 0, 80, 60"/>是什么意思?Rect的意思是以(80,0)为顶点的长为80,宽为60的矩形,裁剪完毕侯侯对每一个小矩形设置一个transform
draganddrop(拖拽):
拖拽主要分为3个步骤:
1.当MouseLeftButtonDown,计算出鼠标的当前位置
2.当MouseMove,取当前鼠标的位置,计算当前位置与MouseLeftButtonDown时的鼠标位置的x,y轴距离,被拖拽对象的Canvas.TopProperty,Canvas.LeftProperty
3.当MouseLeftButtonDown,释放鼠标。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端