Silverlight 1 September 2007 Silverlight 2 October 2008 Silverlight 1 September 2007.
Silverlight and NUI
-
Upload
andrej-tozon -
Category
Technology
-
view
2.466 -
download
3
description
Transcript of Silverlight and NUI
SILVERLIGHT IN NUI
Andrej Tozon (ANT Andrej Tozon s.p.)
SILVERLIGHT IN NUI
Andrej Tozon (ANT Andrej Tozon s.p.)
PRI 14 MESECIH
PRI ~2 LETIH
PRI ~2,5 LETIH
PRI ~2,5 LETIHPRI ~2 LETIHPRI 14 MESECIH
Telefon Tablica Miška0
5
10
15
20
25
30
CAMDOODLE
SILVERLIGHTINNUI
PUZZLETOUCH
SILVERLIGHT IN NUI
• Touch• Multi-Touch
• Zelo low-level• Knjižnice
• Microsoft Surface Silverlight Manipulations and Interia
• Full-Screen Keyboard• Silverlight 4 – omejeno• Silverlight 5 – poln nabor
• WebCam• Kinect?
SILVERLIGHT: MULTITOUCH
• Podpora je prišla s Silverlight 3
Touch.FrameReported += OnFrameReported;
SILVERLIGHT: MULTITOUCH
private void OnFrameReported(object sender, TouchFrameEventArgs e) {}
public class TouchFrameEventArgs{ TouchPoint GetPrimaryTouchPoint(UIElement relativeTo); TouchPointCollection GetTouchPoints(UIElement relativeTo); void SuspendMousePromotionUntilTouchUp(); int Timestamp { get; }}
SILVERLIGHT: MULTITOUCH
public class TouchPoint{ public TouchAction Action { get; } public Point Position { get; } public Size Size { get; } public TouchDevice TouchDevice { get; }}
public enum TouchAction{ Down, Move, Up}
public class TouchDevice{ public int Id { get; } public UIElement DirectlyOver { get; }}
DEMO
Microsoft Surface Silverlight Manipulations and Inertia
Multitouch Behaviors
SILVERLIGHT: WEBCAM
public static class CaptureDeviceConfiguration{ static bool AllowedDeviceAccess { get; } static bool RequestDeviceAccess(); static ReadOnlyCollection<VideoCaptureDevice> GetAvailableVideoCaptureDevices(); static ReadOnlyCollection<AudioCaptureDevice> GetAvailableAudioCaptureDevices(); static VideoCaptureDevice GetDefaultVideoCaptureDevice(); static AudioCaptureDevice GetDefaultAudioCaptureDevice();}
SILVERLIGHT: WEBCAM
public class CaptureSource{ VideoCaptureDevice VideoCaptureDevice { get; set; } AudioCaptureDevice AudioCaptureDevice { get; set; } CaptureState State { get; } void Start(); void Stop(); event EventHandler<ExceptionRoutedEventArgs> CaptureFailed; void CaptureImageAsync(); event EventHandler<CaptureImageCompletedEventArgs> CaptureImageCompleted;}
VideoBrush brush = new VideoBrush();brush.SetSource(captureSource);Rectangle.Fill = brush;
SILVERLIGHT: WEBCAM
CompositionTarget.Rendering += CompositionTarget_Rendering;
void CompositionTarget_Rendering(object sender, EventArgs e){ captureSource.CaptureImageAsync();}
void OnCaptureImageCompleted(object sender, CaptureImageCompletedEventArgs e){ ImageBrush brush = new ImageBrush(); brush.ImageSource = e.Result; rectangle.Fill = brush;}
DEMO
Bug Smash
SLAR Toolkit
POVZETEK
• Naravni uporabniški vmesniki• Silverlight omogoča:
• Podporo (multi) touch aplikacijam• Dostop do video kamere• Dostop do mikrofona
• Za lažjo uporabo posežemo po že izdelanih knjižnicah
• Medtem pa čakamo na podporo za Kinect
POVEZAVE
• Microsoft Surface Manipulations and Inertia Sample for Microsoft Silverlight• http://to3.si/jO8ktN
• Silverlight 4, WPF 4 and Windows Phone 7 Multi-Touch Manipulation• http://multitouch.codeplex.com/
• Bug Smash• http://adamkinney.com/labs/bugcamsmash/
• SLAR Toolkit• http://slartoolkit.codeplex.com/
VPRAŠANJA?Po zaključku predavanja prosim izpolnite vprašalnik.
Vprašalniki bodo poslani na vaš e-naslov, dostopni pa bodo tudi preko profila na spletnem portalu konference. www.ntk.si.
Z izpolnjevanjem le tega pripomorete k izboljšanju konference.
Hvala!
Andrej TozonANT Andrej Tozon s.p.Microsoft MVP: Silverlight
[email protected]@andrejt
http://tozon.info/blog