1 / 23

SZENZOROK

SZENZOROK. érintés. Magas szint Pillanatszerű események Tap, DoubleTap, Hold Folyamatos események - Manipulációk Pl. Zoom, Drag. SZENZOROK. érintés. <!-- Feliratkozás az eseményekre --> < Grid Tap =" Grid_Tap " DoubleTap =" Grid_DoubleTap " Hold =" Grid_Hold "

haley
Download Presentation

SZENZOROK

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SZENZOROK érintés Magas szint Pillanatszerű események Tap, DoubleTap, Hold Folyamatos események - Manipulációk Pl. Zoom, Drag

  2. SZENZOROK érintés <!-- Feliratkozásazeseményekre--> <Grid Tap="Grid_Tap" DoubleTap="Grid_DoubleTap" Hold="Grid_Hold" ManipulationStarted="Grid_ManipulationStarted" ManipulationDelta="Grid_ManipulationDelta" ManipulationCompleted="Grid_ManipulationCompleted">

  3. SZENZOROK érintés privatevoidGrid_Tap(object sender, GestureEventArgs e) { var position = e.GetPosition(this); } privatevoidGrid_DoubleTap(object sender, GestureEventArgs e) { var position = e.GetPosition(this); } privatevoidGrid_Hold(object sender, GestureEventArgs e) { var position = e.GetPosition(this); }

  4. SZENZOROK érintés privatevoidGrid_ManipulationStarted(object sender, ManipulationStartedEventArgs e) { varstartPosition = e.ManipulationOrigin; }

  5. SZENZOROK érintés privatevoidGrid_ManipulationDelta(object sender, ManipulationDeltaEventArgs e) { varstartPosition = e.ManipulationOrigin; varscaleTotal = e.CumulativeManipulation.Scale; varscaleDelta = e.DeltaManipulation.Scale; varscaleVelocity = e.Velocities.ExpansionVelocity; vartranslationTotal = e.CumulativeManipulation.Translation; vartranslationDelta = e.DeltaManipulation.Translation; vartranslationVelocity = e.Velocities.LinearVelocity; }

  6. SZENZOROK érintés privatevoidGrid_ManipulationCompleted(object sender, ManipulationCompletedEventArgs e) { varstartPosition = e.ManipulationOrigin; varscaleTotal = e.TotalManipulation.Scale; varscaleVelocity = e.FinalVelocities.ExpansionVelocity; vartranslationTotal = e.TotalManipulation.Translation; vartranslationVelocity = e.FinalVelocities.LinearVelocity; }

  7. SZENZOROK érintés Alacsony szint Touch események Lehetőségünk van arra is, hogy a nyers adatokkal dolgozzunk Ilyenkor megkapjuk az összes érintési pontot és azt kezdünk velük amit akarunk

  8. SZENZOROK érintés Touch.FrameReported += (s, e) => { varprimaryTouchPoint = e.GetPrimaryTouchPoint(this); vartouchPoints = e.GetTouchPoints(this); vartimeStamp = e.Timestamp; };

  9. SZENZOROK helyzetmeghatározás Alacsony szint Gyorsulásmérő Gyorsulás mértéke G-ben mérve az X, Y, Z tengelyek mentén

  10. SZENZOROK helyzetmeghatározás Accelerometeraccelerometer = newAccelerometer(); accelerometer.CurrentValueChanged += accelerometer_CurrentValueChanged; try { accelerometer.Start(); } catch { } voidaccelerometer_CurrentValueChanged(object sender, SensorReadingEventArgs<AccelerometerReading> e) { // Gyorsulás a 3 tengelymentén G-ben (9.81 m/s^2) mérve varaccelerationVector= e.SensorReading.Acceleration; }

  11. SZENZOROK helyzetmeghatározás Alacsony szint Giroszkóp Forgási sebesség rad/s -ben mérve az X, Y, Z tengelyek körül

  12. SZENZOROK helyzetmeghatározás Gyroscopegyroscope = newGyroscope(); gyroscope.CurrentValueChanged += gyroscope_CurrentValueChanged; try { gyroscope.Start(); } catch { } voidgyroscope_CurrentValueChanged(object sender, SensorReadingEventArgs<GyroscopeReading> e) { // Forgássebessége a 3 tengelykörül rad/s-ben mérve varrotationRates = e.SensorReading.RotationRate; // rad/s -> deg/s varrotationDegreeX = MathHelper.ToDegrees(rotationRates.X); varrotationDegreeY = MathHelper.ToDegrees(rotationRates.Y); varrotationDegreeZ = MathHelper.ToDegrees(rotationRates.Z); }

  13. SZENZOROK helyzetmeghatározás Alacsony szint Iránytű Az északi sark iránya a telefonhoz képest, fokban mérve

  14. SZENZOROK helyzetmeghatározás Compasscompass = newCompass(); compass.CurrentValueChanged += compass_CurrentValueChanged; try { compass.Start(); } catch{ } voidcompass_CurrentValueChanged(object sender, SensorReadingEventArgs<CompassReading> e) { // A Földmágnesesészakipólusafelémutat (fokban) varmagneticNorth = e.SensorReading.MagneticHeading; // A Földföldrajziészakipólusafelémutat (fokban) vargeographicNorth = e.SensorReading.TrueHeading; }

  15. SZENZOROK helyzetmeghatározás Magas szint Motion API Mivel az alacsony szintű API-kból nem olyan egyszerű érdemi infót kinyerni, kapunk beépítve egy magas absztrakciós szinten mozgó Motion API-t, ami elvégzi helyettünk a sok matekozást.

  16. SZENZOROK helyzetmeghatározás Motionmotion = newMotion(); motion.CurrentValueChanged += motion_CurrentValueChanged; try{ motion.Start(); } catch { } voidmotion_CurrentValueChanged(object sender, SensorReadingEventArgs<MotionReading> e) { var rotations = e.SensorReading.DeviceRotationRate; // Gyroscope var accelerations = e.SensorReading.DeviceAcceleration; // Accelerometer - Gravity var gravity = e.SensorReading.Gravity; // Gravity varroll = e.SensorReading.Attitude.Roll; // Elforgatásaz X tengelykörül (radián) var pitch = e.SensorReading.Attitude.Pitch; // Elforgatásaz Y tengelykörül (radián) var yaw = e.SensorReading.Attitude.Yaw; // Elforgatás a Z tengelykörül (radián) // Egy számított mátrix, mely kombinálja az gyorsulásmérő/giroszkóp és az iránytű // méréseit, ésmegmondja, hogy a telefonunk a Világkoordinátarendszerszerint // hogyáll, merrenéz -> AR appoknálnagyonjóltudjönni varrotationMatrix = e.SensorReading.Attitude.RotationMatrix; }

  17. SZENZOROK helymeghatározás

  18. SZENZOROK helymeghatározás GeoCoordinateWatchergps = newGeoCoordinateWatcher(GeoPositionAccuracy.Default); // Default / High gps.StatusChanged += gps_StatusChanged; gps.PositionChanged += gps_PositionChanged; try { gps.Start(false); } // Figyelmeztetésfeldobása catch { } voidgps_StatusChanged(object sender, GeoPositionStatusChangedEventArgs e) { GeoPositionStatus status = e.Status; // Disabled / Initializing / NoData / Ready } voidgps_PositionChanged(object sender, GeoPositionChangedEventArgs<GeoCoordinate> e) { double longitude = e.Position.Location.Longitude; // Hosszúságifok double latitude = e.Position.Location.Latitude; // Szélességifok double altitude = e.Position.Location.Altitude; // Magasság (méterben) double speed = e.Position.Location.Speed; // Sebesség double heading = e.Position.Location.Course; // MozgásirányaazÉszakisarkhozképest (fokban) }

  19. SZENZOROK audió – videó Kamera Használhatjuk az előlapi és a normál kamerát is Fénykép esetén hozzáférés a kameragombhoz, a vakuhoz és a fókuszáláshoz Videó esetén lehetőség, hogy MP4 –be rögzítsük, illetve, hogy szürkeárnyalatos streamet kapjunk a kamerától (Augmented Reality)

  20. SZENZOROK audió – videó PhotoCamera camera = newPhotoCamera(CameraType.Primary); // Primary / FrontFacing // VideómegjelenítéseVideoBrush-al VideoBrushvideoBrush = newVideoBrush(); videoBrush.SetSource(camera); this.Background = videoBrush; camera.Initialized += (s, e) => { // e.Exceptionése.Succeeded // mindenmáscsakezutántörténhet }; // Beállítások // Felbontás camera.Resolution = (from resolution incamera.AvailableResolutions whereresolution.Height > 720 select resolution).First(); // FlashMode camera.FlashMode = FlashMode.Auto; // Auto / Off / On / RedEyeReduction

  21. SZENZOROK audió – videó // Fókuszálás camera.AutoFocusCompleted += (s, e) => { /* e.Exceptionése.Succeeded */ }; camera.Focus(); // Auto-Fókusz camera.CancelFocus(); // Fókuszálásmegszakítása camera.FocusAtPoint(240, 400); // Kiválasztottpontravalófókuszálás // Fényképkészítése camera.CaptureThumbnailAvailable += (s, e) => { /* e.ImageStream */ }; camera.CaptureImageAvailable += (s, e) => { /* e.ImageStream */ }; camera.CaptureImage();

  22. SZENZOROK audió – videó // Aktuálisképkockalekérdezése intbufferSize = (int)camera.PreviewResolution.Width * (int)camera.PreviewResolution.Height; int[] ARGBPixelData = newint[bufferSize]; camera.GetPreviewBufferArgb32(ARGBPixelData); // RGB byte[] GrayScalePixelData = newbyte[bufferSize]; camera.GetPreviewBufferY(GrayScalePixelData); // Szürkeárnyalatos byte[] YCbCrPixelData = newbyte[bufferSize]; camera.GetPreviewBufferYCbCr(YCbCrPixelData); // YCbCr

  23. SZENZOROK audió – videó Mikrofon Lehetőség van hangfelvételre... Vagy akár beszédfelismerésre a Microsoft TellMe felhőszolgáltatásának segítségével

More Related