没有合适的资源?快使用搜索试试~ 我知道了~
首页Windows Phone 7绘图实现与 InkPresenter 控件详解
Windows Phone 7绘图实现与 InkPresenter 控件详解
需积分: 3 3 下载量 95 浏览量
更新于2024-09-12
收藏 6KB TXT 举报
"本资源主要介绍Windows Phone 7(一种早期的移动操作系统)中的绘图功能,特别是利用Silverlight框架实现的图形绘制体验。 Silverlight在Windows Phone 7中扮演了关键角色,提供了丰富的绘图组件如InkPresenter,用于捕捉用户的绘画输入。InkPresenter是一个重要的控件,它允许用户通过触摸或手写笔在屏幕上进行实时绘画,并支持鼠标的抓取和释放事件处理。 InkPresenter的实例化和配置包括设置其布局属性,如Row、Height、HorizontalAlignment、Margin等,以及事件监听器,如LostMouseCapture、MouseLeftButtonDown和MouseMove。当鼠标失去焦点时,会清空当前的新笔触(NewStroke),而在鼠标左键按下时,会捕获鼠标并创建一个新的笔触,将用户的触点添加到StylusPointCollection中。在用户持续移动鼠标时,新的笔触会继续添加触点,构建出完整的绘图路径。 Path元素也是Windows Phone 7绘图的重要组成部分,它支持使用Geometries类来定义和操作几何形状,例如Path对象的构造可以通过<Geometries>标签来指定矢量图形。这使得开发者能够灵活地组合和应用各种几何形状,增强应用程序的视觉表现力。 这些代码片段展示了如何在Windows Phone 7平台上创建一个基本的绘画应用,通过InkPresenter和Path控件,用户能够体验到直观且互动式的绘图体验,这对于开发具有创新性用户体验的移动应用来说是至关重要的技术基础。"
资源详情
资源推荐
一起学Windows Phone7开发(十三.七 绘图控件)
Silverlight的绘图能力是有目共睹的,那Phone7上也一样不会差,以下就是其绘图控件。
一.InkPresenter:可以产生手写效果的控件。
XAML:
<InkPresenter Grid.Row="1" Height="512" HorizontalAlignment="Left" Margin="24,65,0,0" Name="inkPresenter1" VerticalAlignment="Top" Width="444" LostMouseCapture="inkPresenter1_LostMouseCapture" MouseLeftButtonDown="inkPresenter1_MouseLeftButtonDown" MouseMove="inkPresenter1_MouseMove" Background="White"/>
代码:
private void inkPresenter1_LostMouseCapture(object sender, MouseEventArgs e)
{
NewStroke = null;
}
private void inkPresenter1_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
inkPresenter1.CaptureMouse();
StylusPointCollection spc = new StylusPointCollection();
spc.Add(e.StylusDevice.GetStylusPoints(inkPresenter1));
Silverlight的绘图能力是有目共睹的,那Phone7上也一样不会差,以下就是其绘图控件。
一.InkPresenter:可以产生手写效果的控件。
XAML:
<InkPresenter Grid.Row="1" Height="512" HorizontalAlignment="Left" Margin="24,65,0,0" Name="inkPresenter1" VerticalAlignment="Top" Width="444" LostMouseCapture="inkPresenter1_LostMouseCapture" MouseLeftButtonDown="inkPresenter1_MouseLeftButtonDown" MouseMove="inkPresenter1_MouseMove" Background="White"/>
代码:
private void inkPresenter1_LostMouseCapture(object sender, MouseEventArgs e)
{
NewStroke = null;
}
private void inkPresenter1_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
inkPresenter1.CaptureMouse();
StylusPointCollection spc = new StylusPointCollection();
spc.Add(e.StylusDevice.GetStylusPoints(inkPresenter1));
NewStroke = new Stroke();
this.inkPresenter1.Strokes.Add(NewStroke);
}
private void inkPresenter1_MouseMove(object sender, MouseEventArgs e)
{
if (NewStroke != null)
NewStroke.StylusPoints.Add(e.StylusDevice.GetStylusPoints(inkPresenter1));
}
二.Path:路径控件通过Markup Syntax来绘制一系列的线条或通过Geometries来绘制形状,这个控件是图形控件中最复杂的。
Geometries:
<Path Grid.Row="1" Height="428" HorizontalAlignment="Left" Margin="12,127,0,0" Name="path1" Stroke="Red" StrokeThickness="10" VerticalAlignment="Top" Width="456" Fill="Green">
剩余6页未读,继续阅读
xiangwenpin
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 深入理解23种设计模式
- 制作与调试:声控开关电路详解
- 腾讯2008年软件开发笔试题解析
- WebService开发指南:从入门到精通
- 栈数据结构实现的密码设置算法
- 提升逻辑与英语能力:揭秘IBM笔试核心词汇及题型
- SOPC技术探索:理论与实践
- 计算图中节点介数中心性的函数
- 电子元器件详解:电阻、电容、电感与传感器
- MIT经典:统计自然语言处理基础
- CMD命令大全详解与实用指南
- 数据结构复习重点:逻辑结构与存储结构
- ACM算法必读书籍推荐:权威指南与实战解析
- Ubuntu命令行与终端:从Shell到rxvt-unicode
- 深入理解VC_MFC编程:窗口、类、消息处理与绘图
- AT89S52单片机实现的温湿度智能检测与控制系统
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功