Tablets Vista and WPF

Published Sun, May 27 2007 5:24 | William

I got sidetracked pretty bad tonight working on my tablet.  Started working on a basic Inking application and I really got off track. Started out with a InkCanvas and an Image.

<Grid>

 <InkCanvas Name="icMain">

   <InkCanvas.Background><ImageBrush ImageSource="were_cuckoo.jpg">  </ImageBrush>

 

 </InkCanvas.Background>

    <InkCanvas.DefaultDrawingAttributes>         <DrawingAttributes Color="Blue" Width="4"/>

    </InkCanvas.DefaultDrawingAttributes>

 </InkCanvas>

<Button Height="23" Margin="36,0,0,9" Name="btnSave" VerticalAlignment="Bottom" Click="btnSave_Click" HorizontalAlignment="Left" Width="102">Save Drawing</Button> <Button Height="23" HorizontalAlignment="Right" Margin="0,0,60,11" Name="btnSelectColor" VerticalAlignment="Bottom" Width="108">Select Color</Button>

</Grid>

This alone will give you an image and an inking surface.  Quickly realized that I wanted to change the colors so I added a ColorDialog.  Then I just had to call OpenDialog to get the color back from the dialog box.

ColorDialog cd = null;
public Window1()
{
InitializeComponent();
this.btnSave.Click += new RoutedEventHandler(btnSave_Click);
this.btnSelectColor.Click += new RoutedEventHandler(btnColorSelect_Click);
cd = new ColorDialog();
}


void btnSave_Click(object sender, RoutedEventArgs e)
{
  using (FileStream fs = new FileStream("inkstrokes.isf", FileMode.Create))
  {
    icMain.Strokes.Save(fs);
    fs.Close();
   }
}
void btnColorSelect_Click(object sender, RoutedEventArgs e)
{
   cd.ShowDialog();
   System.Drawing.Color clr = cd.Color;
   DrawingAttributes clr2 = new DrawingAttributes();
   clr2.Color = Color.FromArgb(clr.A, clr.R, clr.G, clr.B);  
   icMain.DefaultDrawingAttributes.Color = clr2.Color;
}

Here's what results:

Ink Tablet PC And this: Ink Tablet PC

Very straightforward to say the least. I was going to add some gestures into it, but decided I want to give it a try with Silverlight first.  Maybe I can finally start getting in front of the curve again...

Filed under: , ,

Search

This Blog

Tags

Community

Archives

News

My other sites

Cool Stuff

Book Stuff

Security

ORM

Data Access

Funny Stuff

Compact Framework Stuff

Web Casts

My KnowledgeBase Articles

My MVP Profile

Design Patterns

Performance

Debugging

Remoting

My Fellow Authors

My Books

LINQ

Misc

Speech

Syndication

Email Notifications