Silverlight不支持gif的图片格式,图片最好用jpg的,对于引用路径,如果在Image目录下,ImageSource填写Image/xxx.jpg,其他路径格式测试后不显示图片。先看一下运行后的效果图
下面是程序代码
.xaml:
<Grid x:Name="LayoutRoot">
<InkPresenter x:Name="inkPresenter"
MouseLeftButtonDown="inkPresenter_MouseLeftButtonDown"
MouseMove="inkPresenter_MouseMove"
MouseLeftButtonUp="inkPresenter_MouseLeftButtonUp"
Background="Transparent"
Grid.Row="0" Grid.ColumnSpan="2">
<Rectangle Width="372" Height="400" RadiusX="20" RadiusY="20" Margin="20">
<Rectangle.Fill>
<ImageBrush ImageSource="Image/wal.jpg" Opacity="0.5">
</ImageBrush>
</Rectangle.Fill>
</Rectangle>
</InkPresenter>
</Grid>
xaml.cs
#region 属性封装
Color cc_CurrentColor = Colors.Black;
Stroke ss_Stroke;
#endregion
private void inkPresenter_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
inkPresenter.CaptureMouse();
ss_Stroke = new Stroke();
ss_Stroke.DrawingAttributes.Color = cc_CurrentColor;
ss_Stroke.StylusPoints.Add(e.StylusDevice.GetStylusPoints(inkPresenter));
inkPresenter.Strokes.Add(ss_Stroke);
}
private void inkPresenter_MouseMove(object sender, MouseEventArgs e)
{
if (ss_Stroke!=null)
{
ss_Stroke.StylusPoints.Add(e.StylusDevice.GetStylusPoints(inkPresenter));
}
}
private void inkPresenter_MouseLeftButtonUp(object sender, MouseButtonEventArgs e)
{
ss_Stroke = null;
inkPresenter.ReleaseMouseCapture();
}