La photographie est devenue un scénario clé pour les smartphones. Nous sommes de plus en plus à délaisser nos appareils photo numériques au profit de notre téléphone. Le Nokia Lumia 1020, primé à de nombreuses reprises en est l'illustration. Nous verrons comment tirer partie de toute la puissance de votre smartphone, de la prise de vue au traitement d'image. Dans un deuxième temps, nous verrons comment enrichir une application en exploitant tous les capteurs embarqués : GPS, accéléromètre, bousole, gyroscope... Et pour finir, nous les combinerons tous en créant de la réalité augmentée.
Speakers : Nicolas Delabarre (Nokia), Nicolas Calvi (Wygwam)
Slides de la présentation "iOS & Android" de la session des CocoaHeads Rennais du 10 novembre 2011. Présentation assurée par David Bonnet et Nicolas Klein.
The document discusses different types of language change, including changes in vocabulary and the meanings of words. It outlines several processes by which vocabulary changes, such as coinage, compounding and affixation, conversion, clipping, blending, acronyms, and backformations. It also describes two main types of semantic change: extension and narrowing of meaning, as well as grammaticalization. Speakers adapt language over time to meet changing communicative needs, and new words can be created through various morphological and semantic processes.
A timeline of the history of linguistics Jasmin Cruz
The document provides a timeline of the history of linguistics from ancient Sumerians to modern generative grammar. Some key developments include Pānini's grammar of Sanskrit, Saussure's distinction between langue and parole, the structuralist tradition influenced by Saussure and Jakobson, Chomsky's generative grammar which transformed the field, and the Sapir-Whorf hypothesis about the relationship between language and thought. The timeline traces the evolution of linguistics from a focus on grammar and philology to modern approaches like structuralism and generative grammar.
Ancient Greek and Roman scholars laid the foundations of modern linguistics by asking philosophical and structural questions about language and establishing early concepts of phonetics, parts of speech, and grammar. In India, Panini discovered the morphological structure of words and classified the language according to formative characteristics. Arabic linguistics included the first dictionaries and studies of parts of speech, roots and patterns, sentence types, and syntactic relations. These early traditions established the basis for the modern scientific study of language.
Introduction to Linguistics_The History of LinguisticsEdi Brata
The document discusses the history and development of linguistics from before the 19th century through the mid-late 20th century. It notes that before the 19th century, language was mainly studied by philosophers and debates centered around nature vs nurture. In the 19th century, historical linguistics emerged as Sir William Jones discovered similarities between Sanskrit and European languages. In the early-mid 20th century, the focus shifted to descriptive linguistics with theorists like Saussure, Bloomfield, Firth and Sapir analyzing language structure and relationship to culture. In the mid-late 20th century, generative linguistics was developed under Noam Chomsky with concepts like universal grammar and transformational grammar.
The document discusses how languages change over time through natural processes. It notes that after 1,000 years, languages diverge to the point of no longer being mutually intelligible, and after 10,000 years the relationship becomes indistinguishable from unrelated languages. The rate of change varies, but systematic sound changes and borrowing are the main drivers of divergence. The comparative method is used to reconstruct ancestral languages and classify languages into families based on regular sound correspondences.
Slides de la présentation "iOS & Android" de la session des CocoaHeads Rennais du 10 novembre 2011. Présentation assurée par David Bonnet et Nicolas Klein.
The document discusses different types of language change, including changes in vocabulary and the meanings of words. It outlines several processes by which vocabulary changes, such as coinage, compounding and affixation, conversion, clipping, blending, acronyms, and backformations. It also describes two main types of semantic change: extension and narrowing of meaning, as well as grammaticalization. Speakers adapt language over time to meet changing communicative needs, and new words can be created through various morphological and semantic processes.
A timeline of the history of linguistics Jasmin Cruz
The document provides a timeline of the history of linguistics from ancient Sumerians to modern generative grammar. Some key developments include Pānini's grammar of Sanskrit, Saussure's distinction between langue and parole, the structuralist tradition influenced by Saussure and Jakobson, Chomsky's generative grammar which transformed the field, and the Sapir-Whorf hypothesis about the relationship between language and thought. The timeline traces the evolution of linguistics from a focus on grammar and philology to modern approaches like structuralism and generative grammar.
Ancient Greek and Roman scholars laid the foundations of modern linguistics by asking philosophical and structural questions about language and establishing early concepts of phonetics, parts of speech, and grammar. In India, Panini discovered the morphological structure of words and classified the language according to formative characteristics. Arabic linguistics included the first dictionaries and studies of parts of speech, roots and patterns, sentence types, and syntactic relations. These early traditions established the basis for the modern scientific study of language.
Introduction to Linguistics_The History of LinguisticsEdi Brata
The document discusses the history and development of linguistics from before the 19th century through the mid-late 20th century. It notes that before the 19th century, language was mainly studied by philosophers and debates centered around nature vs nurture. In the 19th century, historical linguistics emerged as Sir William Jones discovered similarities between Sanskrit and European languages. In the early-mid 20th century, the focus shifted to descriptive linguistics with theorists like Saussure, Bloomfield, Firth and Sapir analyzing language structure and relationship to culture. In the mid-late 20th century, generative linguistics was developed under Noam Chomsky with concepts like universal grammar and transformational grammar.
The document discusses how languages change over time through natural processes. It notes that after 1,000 years, languages diverge to the point of no longer being mutually intelligible, and after 10,000 years the relationship becomes indistinguishable from unrelated languages. The rate of change varies, but systematic sound changes and borrowing are the main drivers of divergence. The comparative method is used to reconstruct ancestral languages and classify languages into families based on regular sound correspondences.
Cette session vous propose de découvrir Kinect à travers 5 exemples qui se réalise en moins de 10 minutes et un tour d'horizon des outils à votre disposition. Ce sera l'occasion d'avoir un premier contact simple avec Kinect et en même temps de vous donner quelques astuces pour bien commencer vos développements avec le SDK Kinect.
Optimisation des applications Windows 8/HTML5/WinJSMicrosoft
Dans cette session, vous découvrirez comment analyser et résoudre les problèmes de performance de vos applications Windows 8 développées en HTML 5 / JavaScript, en utilisant les outils de profiling mis à disposition dans Visual Studio. Vous découvrez ainsi comment rendre vos applications « Fast & Fluid » pour le plaisir de vos utilisateurs.
Initiation au code : Introduction et installation des outilsStéphanie Hertrich
Dans le cadre d'une initative de Girls In Technology Paris, les slides du premier atelier qui consiste présenter l'agenda des ateliers et à installer les outils.
Utiliser l'EDI pour développer en multiplateformepprem
Ce webinaire vous permettra de découvrir ou redécouvrir les fonctionnalités de l’EDI de RAD Studio / Delphi / C++Builder en matière de conception d’écrans multiplateformes. Pour utiliser pleinement l’EDI avec FireMonkey vous vous devez de les connaître.
Nous aborderons les fonctionnalités du concepteur de fiches pour FireMonkey, la prévisualisation intégrée à l’EDI et la prévisualisation en temps réel sur des appareils mobiles.
La rediffusion de cette présentation est disponible avec ses codes sources et des liens complémentaires sur https://serialstreameur.fr/webinaire-20190423.php
10 tips pour améliorer les performances de vos applications Windows 8Microsoft
S’il est très simple de réaliser des applications Windows 8 de qualité, il est moins évident de créer des applications ultra performantes. Windows tourne désormais sur tout type d’appareils, des PC de gamers aux tablettes peu puissantes. Pour ces dernières, il est nécessaire de tirer parti au maximum des API fournies par WinRT. Cette session vous propose de découvrir 10 astuces afin d’améliorer visiblement les performances de vos applications.
La fin de vie de Windows XP approche à grand pas et vous vous demandez encore comment déployer Windows 7 ou Windows 8.1 ? Vous souhaitez déployer Windows 8.1 mais vous ne disposez pas encore de System Center Configuration Manager 2012 R2 ? L'UEFI, vous ne savez pas ce que c'est, ce que ça vous apporte ou encore comment l'utiliser ? Venez découvrir les nouveautés de MDT 2013, les bonnes pratiques de son utilisation, les solutions liées à la migration de Windows XP vers Windows 8.1 ou encore les particularités du déploiement de Windows 8.1. Mais surtout des retours d'experiences d'ingénieurs support sur site Microsoft travaillant quotidiennement sur des problématiques de déploiement et de configuration de Windows 7 et de Windows 8.1.
Speakers : Antoine Journaux (Microsoft France)
Etendre ses applications aux smartwatches et TVs androidXavier Hallade
Les cibles TV et Android Wear ont toutes deux leur spécificité, tant en terme d'interface que de logique de développement.
Vous verrez de quelle manière l'OS Android se différencie sur ces plateformes, et comment simplement étendre votre support de ces versions depuis des applications Android classiques.
CGTech® est le leader de la technologie des logiciels de simulation, de vérification et d’optimisation de machines CN. Depuis 1988, nos produits ont atteint le rang de standard des secteurs industriels, dont l’aérospatiale, l’automobile et les transports terrestres, le moule, les produits grand public, la production d’énergie et l’industrie lourde. Aujourd’hui, avec des bureaux en Europe et en Asie, et un réseau mondial de revendeurs, les logiciels CGTech sont utilisés par des entreprises de toutes dimensions, des universités, des écoles et des organismes gouvernementaux.
Le logiciel VERICUT est utilisé pour simuler l’usinage CN afin de détecter les erreurs, les collisions potentielles ou les zones d’inefficacité. VERICUT permet aux programmeurs CN de corriger les erreurs avant même que le programme soit chargé sur la machine CN, ce qui élimine les contrôles manuels. VERICUT optimise également les vitesses de coupe des programmes CN pour un usinage plus efficace.
Lorsque vous investissez dans VERICUT, vous n’achetez pas seulement un logiciel, vous faites équipe avec le partenaire de fabrication ayant la plus grande collection d’experts en usinage CN dans le monde. Nous sommes continuellement exposés à des méthodes de fabrication et des technologies nouvelles dans le monde entier, acquérir de l’expertise peut vous donner un avantage concurrentiel. Contactez-nous dès aujourd’hui pour convenir d’un rendez-vous.
Le Web mobile avec ASP.Net MVC et jQuery MobileMicrosoft
ASP.Net MVC introduit des briques pour le développement d'applications web pour terminaux mobiles, et propose de tirer parti de jQuery Mobile pour accélérer vos développements. Durant cette session, nous aborderons les nouveautés de ASP.Net MVC4 pour les applications web mobiles, et nous présenterons les concepts fondamentaux de jQuery Mobile. Nous verrons comment ces deux outils se complémentent pour dopper vos développements !
Speakers : François Guillot (MCNEXT), Guillaume Leborgne (MCNEXT)
Firefox OS, le web de demain - Epita - 2014-06-06Frédéric Harper
HTML5 est un pas de géant dans la bonne direction: il apporte plusieurs fonctionnalités dont les développeurs avaient besoin pour créer plus facilement de meilleures expériences web. Il a aussi fait naitre un débat sans fin: applications natives ou applications web! Lors de cette présentation, Frédéric Harper vous montrera comment le web ouvert peut vous aider à créer des applications mobiles de qualités. Vous en apprendrez plus sur des technologies telles que les WebAPIs, ainsi que les outils qui vous permettront de viser un nouveau marché avec Firefox OS et le web d’aujourd'hui.
Transitions et Animations – Donnez une nouvelle dimension à vos applications ...Microsoft
Améliorer l’impact et l’expérience utilisateur de vos applications en travaillant sur les animations de vos contrôles et la transition de vos pages. En quelques astuces et conseils, Samuel et Jean-Sébastien vous apporteront les clés pour rendre vos applications uniques !
Speakers : Jean-Sébastien Dupuy (Microsoft), Samuel Blanchard (Naviso)
Comment intégrer votre Surface Pro 3 dans votre réseau d’entreprise ?Microsoft Décideurs IT
Innovante et performante, la Surface Pro 3 devient de plus en plus présente au sein des entreprises. Au-delà de l’intégration d’un nouveau type de matériel, cela veut aussi dire pour les équipes IT une découverte du processus de fabrication d’un « master » Windows 8.1 pour une population ciblée de l’entreprise. Nous allons donc, dans cette session, passer en revue les bonnes pratiques à mettre en place pour tirer parti au mieux des capacités de la Surface Pro 3. Nous couvrirons des points tels que « Où trouver les bons drivers », « Reproduire l’expérience OOBE usine au sein du master pour l’appairage du stylet », « Intégrer OneNote avec le stylet », etc. Nous rappellerons aussi les spécificités de la création d’un master MDT pour une machine UEFI 64 bits.
Innovante et performante, la Surface Pro 3 devient de plus en plus présente au sein des entreprises. Au-delà de l’intégration d’un nouveau type de matériel, cela veut aussi dire pour les équipes IT une découverte du processus de fabrication d’un « master » Windows 8.1 pour une population ciblée de l’entreprise. Nous allons donc, dans cette session, passer en revue les bonnes pratiques à mettre en place pour tirer parti au mieux des capacités de la Surface Pro 3. Nous couvrirons des points tels que « Où trouver les bons drivers », « Reproduire l’expérience OOBE usine au sein du master pour l’appairage du stylet », « Intégrer OneNote avec le stylet », etc. Nous rappellerons aussi les spécificités de la création d’un master MDT pour une machine UEFI 64 bits.
Uwp + Xamarin : Du nouveau en terre du milieuMicrosoft
"Après une période de calme relatif, la Terre du Milieu est à nouveau en proie à l’émoi : Un seul code pour les gouverner tous, tel semble être le nouveau crédo des bâtisseurs des contrées d’UWP, depuis que le peuple Xamarin a créé de nouveaux passages vers les terres d’Android et d’iOS.
Avec de nouvelles forges et de nouvelles armes permettant aux guerriers de s’aventurer sur tablette, PC et même en Holographie, le régent Windows 10 est devenu le symbole de l’universalité du royaume.
Il est donc temps de passer en revue vos troupes ! Armez C#, Windows Inking, Microsoft Composition, Centenial !
Découvrez comment Xamarin, grande cité récemment conquise, propose d’intégrer de nouvelles techniques de combat pour faire du language .Net le verbiage parfait des mondes mobiles, quelle que soit votre contrée d’origine (Android, IOS, ou Windows)"
Venez comprendre le concept de la Blockchain, ses bénéfices et scénarios d’usage ainsi que les outils et la plateforme proposés par Microsoft pour vous permettre de démarrer, rapidement et à moindre coût, des projets de développement et d’extension de vos solutions existantes dans ce domaine.
Contenu connexe
Similaire à Photos et autres sensors sur Windows Phone
Cette session vous propose de découvrir Kinect à travers 5 exemples qui se réalise en moins de 10 minutes et un tour d'horizon des outils à votre disposition. Ce sera l'occasion d'avoir un premier contact simple avec Kinect et en même temps de vous donner quelques astuces pour bien commencer vos développements avec le SDK Kinect.
Optimisation des applications Windows 8/HTML5/WinJSMicrosoft
Dans cette session, vous découvrirez comment analyser et résoudre les problèmes de performance de vos applications Windows 8 développées en HTML 5 / JavaScript, en utilisant les outils de profiling mis à disposition dans Visual Studio. Vous découvrez ainsi comment rendre vos applications « Fast & Fluid » pour le plaisir de vos utilisateurs.
Initiation au code : Introduction et installation des outilsStéphanie Hertrich
Dans le cadre d'une initative de Girls In Technology Paris, les slides du premier atelier qui consiste présenter l'agenda des ateliers et à installer les outils.
Utiliser l'EDI pour développer en multiplateformepprem
Ce webinaire vous permettra de découvrir ou redécouvrir les fonctionnalités de l’EDI de RAD Studio / Delphi / C++Builder en matière de conception d’écrans multiplateformes. Pour utiliser pleinement l’EDI avec FireMonkey vous vous devez de les connaître.
Nous aborderons les fonctionnalités du concepteur de fiches pour FireMonkey, la prévisualisation intégrée à l’EDI et la prévisualisation en temps réel sur des appareils mobiles.
La rediffusion de cette présentation est disponible avec ses codes sources et des liens complémentaires sur https://serialstreameur.fr/webinaire-20190423.php
10 tips pour améliorer les performances de vos applications Windows 8Microsoft
S’il est très simple de réaliser des applications Windows 8 de qualité, il est moins évident de créer des applications ultra performantes. Windows tourne désormais sur tout type d’appareils, des PC de gamers aux tablettes peu puissantes. Pour ces dernières, il est nécessaire de tirer parti au maximum des API fournies par WinRT. Cette session vous propose de découvrir 10 astuces afin d’améliorer visiblement les performances de vos applications.
La fin de vie de Windows XP approche à grand pas et vous vous demandez encore comment déployer Windows 7 ou Windows 8.1 ? Vous souhaitez déployer Windows 8.1 mais vous ne disposez pas encore de System Center Configuration Manager 2012 R2 ? L'UEFI, vous ne savez pas ce que c'est, ce que ça vous apporte ou encore comment l'utiliser ? Venez découvrir les nouveautés de MDT 2013, les bonnes pratiques de son utilisation, les solutions liées à la migration de Windows XP vers Windows 8.1 ou encore les particularités du déploiement de Windows 8.1. Mais surtout des retours d'experiences d'ingénieurs support sur site Microsoft travaillant quotidiennement sur des problématiques de déploiement et de configuration de Windows 7 et de Windows 8.1.
Speakers : Antoine Journaux (Microsoft France)
Etendre ses applications aux smartwatches et TVs androidXavier Hallade
Les cibles TV et Android Wear ont toutes deux leur spécificité, tant en terme d'interface que de logique de développement.
Vous verrez de quelle manière l'OS Android se différencie sur ces plateformes, et comment simplement étendre votre support de ces versions depuis des applications Android classiques.
CGTech® est le leader de la technologie des logiciels de simulation, de vérification et d’optimisation de machines CN. Depuis 1988, nos produits ont atteint le rang de standard des secteurs industriels, dont l’aérospatiale, l’automobile et les transports terrestres, le moule, les produits grand public, la production d’énergie et l’industrie lourde. Aujourd’hui, avec des bureaux en Europe et en Asie, et un réseau mondial de revendeurs, les logiciels CGTech sont utilisés par des entreprises de toutes dimensions, des universités, des écoles et des organismes gouvernementaux.
Le logiciel VERICUT est utilisé pour simuler l’usinage CN afin de détecter les erreurs, les collisions potentielles ou les zones d’inefficacité. VERICUT permet aux programmeurs CN de corriger les erreurs avant même que le programme soit chargé sur la machine CN, ce qui élimine les contrôles manuels. VERICUT optimise également les vitesses de coupe des programmes CN pour un usinage plus efficace.
Lorsque vous investissez dans VERICUT, vous n’achetez pas seulement un logiciel, vous faites équipe avec le partenaire de fabrication ayant la plus grande collection d’experts en usinage CN dans le monde. Nous sommes continuellement exposés à des méthodes de fabrication et des technologies nouvelles dans le monde entier, acquérir de l’expertise peut vous donner un avantage concurrentiel. Contactez-nous dès aujourd’hui pour convenir d’un rendez-vous.
Le Web mobile avec ASP.Net MVC et jQuery MobileMicrosoft
ASP.Net MVC introduit des briques pour le développement d'applications web pour terminaux mobiles, et propose de tirer parti de jQuery Mobile pour accélérer vos développements. Durant cette session, nous aborderons les nouveautés de ASP.Net MVC4 pour les applications web mobiles, et nous présenterons les concepts fondamentaux de jQuery Mobile. Nous verrons comment ces deux outils se complémentent pour dopper vos développements !
Speakers : François Guillot (MCNEXT), Guillaume Leborgne (MCNEXT)
Firefox OS, le web de demain - Epita - 2014-06-06Frédéric Harper
HTML5 est un pas de géant dans la bonne direction: il apporte plusieurs fonctionnalités dont les développeurs avaient besoin pour créer plus facilement de meilleures expériences web. Il a aussi fait naitre un débat sans fin: applications natives ou applications web! Lors de cette présentation, Frédéric Harper vous montrera comment le web ouvert peut vous aider à créer des applications mobiles de qualités. Vous en apprendrez plus sur des technologies telles que les WebAPIs, ainsi que les outils qui vous permettront de viser un nouveau marché avec Firefox OS et le web d’aujourd'hui.
Transitions et Animations – Donnez une nouvelle dimension à vos applications ...Microsoft
Améliorer l’impact et l’expérience utilisateur de vos applications en travaillant sur les animations de vos contrôles et la transition de vos pages. En quelques astuces et conseils, Samuel et Jean-Sébastien vous apporteront les clés pour rendre vos applications uniques !
Speakers : Jean-Sébastien Dupuy (Microsoft), Samuel Blanchard (Naviso)
Comment intégrer votre Surface Pro 3 dans votre réseau d’entreprise ?Microsoft Décideurs IT
Innovante et performante, la Surface Pro 3 devient de plus en plus présente au sein des entreprises. Au-delà de l’intégration d’un nouveau type de matériel, cela veut aussi dire pour les équipes IT une découverte du processus de fabrication d’un « master » Windows 8.1 pour une population ciblée de l’entreprise. Nous allons donc, dans cette session, passer en revue les bonnes pratiques à mettre en place pour tirer parti au mieux des capacités de la Surface Pro 3. Nous couvrirons des points tels que « Où trouver les bons drivers », « Reproduire l’expérience OOBE usine au sein du master pour l’appairage du stylet », « Intégrer OneNote avec le stylet », etc. Nous rappellerons aussi les spécificités de la création d’un master MDT pour une machine UEFI 64 bits.
Innovante et performante, la Surface Pro 3 devient de plus en plus présente au sein des entreprises. Au-delà de l’intégration d’un nouveau type de matériel, cela veut aussi dire pour les équipes IT une découverte du processus de fabrication d’un « master » Windows 8.1 pour une population ciblée de l’entreprise. Nous allons donc, dans cette session, passer en revue les bonnes pratiques à mettre en place pour tirer parti au mieux des capacités de la Surface Pro 3. Nous couvrirons des points tels que « Où trouver les bons drivers », « Reproduire l’expérience OOBE usine au sein du master pour l’appairage du stylet », « Intégrer OneNote avec le stylet », etc. Nous rappellerons aussi les spécificités de la création d’un master MDT pour une machine UEFI 64 bits.
Similaire à Photos et autres sensors sur Windows Phone (20)
Uwp + Xamarin : Du nouveau en terre du milieuMicrosoft
"Après une période de calme relatif, la Terre du Milieu est à nouveau en proie à l’émoi : Un seul code pour les gouverner tous, tel semble être le nouveau crédo des bâtisseurs des contrées d’UWP, depuis que le peuple Xamarin a créé de nouveaux passages vers les terres d’Android et d’iOS.
Avec de nouvelles forges et de nouvelles armes permettant aux guerriers de s’aventurer sur tablette, PC et même en Holographie, le régent Windows 10 est devenu le symbole de l’universalité du royaume.
Il est donc temps de passer en revue vos troupes ! Armez C#, Windows Inking, Microsoft Composition, Centenial !
Découvrez comment Xamarin, grande cité récemment conquise, propose d’intégrer de nouvelles techniques de combat pour faire du language .Net le verbiage parfait des mondes mobiles, quelle que soit votre contrée d’origine (Android, IOS, ou Windows)"
Venez comprendre le concept de la Blockchain, ses bénéfices et scénarios d’usage ainsi que les outils et la plateforme proposés par Microsoft pour vous permettre de démarrer, rapidement et à moindre coût, des projets de développement et d’extension de vos solutions existantes dans ce domaine.
Tester, Monitorer et Déployer son application mobileMicrosoft
"Permis de tester
Disclaimer : Cette session ne s’adresse pas à ceux qui pensent que c’est une bonne idée d’affirmer :
• « On testera si on a le temps »,
• « Les utilisateurs nous remonteront les bugs »
• « Les développeurs testent et débuguent ce qu’ils ont conçu, c'est suffisant pour garantir la qualité de l‘application mobile »
• « Un test réussi sur un smartphone garantit que l’application fonctionne sur tous les autres appareils du même OS »
• « Le test d'application mobile, c'est comme le test de site web »
Cette session « Tester, Monitorer et Déployer son application mobile » est pour ceux qui ont conscience qu’une application offrant une expérience décevante est synonyme :
• D’abandon pur et simple par +60% de ses utilisateurs
• D’un changement immédiat pour la concurrence pour 34% d’entre eux
• D’un impact négatif pour la marque (réseau sociaux, rating, bouche à oreilles) par la moitié des utilisateurs
Au final, pas besoin de s’appeler Bond pour éliminer les bugs de votre app !
Inscrivez vous pour découvrir quels sont les usages du « testing mobile » et comment Visual Studio Team Services, Xamarin Tests Cloud & Hockey App, vous permettront d’améliorer la qualité de vos applications mobiles pour iOS, Android & Windows."
Windows 10, un an après – Nouveautés & Démo Microsoft
"Windows 10 célèbre sa première bougie avec une mise à jour « Anniversary Update » dont nous présenterons les principales nouveautés.
Retour également en démo sur les nouveaux scénarios proposés par l’OS dans un monde « Cloud First & Mobile First ».
Enfin nous terminerons cette session par un rapide aperçu des possibilités offertes par Bash et les conteneurs sous Windows 10.
"
Prenez votre pied avec les bots et cognitive services.Microsoft
"Cette session vous propose de découvrir comment mettre le pied dans le monde des bots.
Microsoft Bot Framework offre une solution complète pour créer et connecter votre bot aux principales plateformes de messagerie, notamment Skype, Slack et Facebook Messenger.
Nous vous proposons également de découvrir Cognitives Services pour interagir en language naturel et enrichir les scenarios de votre futur Bot !"
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...Microsoft
"Vous voulez apprendre comment gérer votre tenant Office 365 : SharePoint Online, Power BI, Services Azure avec PowerShell ?
Venez découvrir les bonnes pratiques et comprendre comment utiliser « Office 365 Developer Patterns and Practices (PnP) » & Microsoft Graph (API).
Dans cette session, vous apprendrez comment administrer les fonctionnalités de votre tenant Office 365 en utilisant PowerShell.
De nombreuses démos ! "
"Les bots aujourd’hui c’est très concret. Dans cette session nous aborderons les cas les plus courants de création de bots.
Vous comprendrez comment Recast.AI utilise le bot framework pour publier les bots des développeurs qui utilisent leur plateforme. Pour comprendre toutes les étapes de la création d’un bot en Node.js, du code au déploiement, c’est par la !"
Microsoft Composition, pierre angulaire de vos applications ?Microsoft
"Microsoft Composition est une librairie permettant de créer des effets graphiques de haut niveau pour les applications UWP. C'est le chaînon manquant entre les développeurs et les designers d'interfaces.
Voyons comment ajouter le fameux et recherché effet Wahou, en faisant travailler de concert un designer et un développeur."
"Avec l'arrivée de SQL Server 2016 une session de présentation des nouveautés s'impose !
Au menu : Streched Database, Always Encrypted, Row Level Security, Live Query Statistics, Les Temporal Tables , PolyBase, Et le reste ?"
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?Microsoft
Après une rapide introduction au concept de conteneurs et à leur intégration dans une IT agile, nous allons nous intéresser, dans cette session, à leur mise en œuvre depuis le poste du développeur ou de l'administrateur, jusqu'aux clusters apportant un niveau de disponibilité et de montée en charge nécessaires aux environnements de production. Les démonstrations couvriront donc Docker sur Windows 10 et Windows Server 2016, ainsi qu'Azure Container Service pour l'orchestration de conteneurs dans Azure avec Docker Swarm ou DC/OS, et Docker Datacenter dans Azure pour une solution complète et hybride en entreprise.
Administration et supervision depuis le Cloud avec Azure Logs AnalyticsMicrosoft
Azure Log Analytics est un service d’Operations Management Suite (OMS) qui vous permet de collecter et d’analyser les données générées par les ressources de votre Cloud et de vos environnements locaux. Il vous fournit des informations en temps réel à l'aide d’une recherche intégrée et de tableaux de bord personnalisés permettant d’analyser facilement des millions d'enregistrements. Cette session sera l'occasion de découvrir ce service.
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...Microsoft
Suite à la réalisation de plusieurs projets Azure IoT, place aux retours d'expériences. Entre des migrations de M2M/IoT Amazon vers Azure, jusqu'à la création de projet nécessitant de « scaler » jusqu'à 1 million d'objets SigFox, en passant par des projets plus modestes, mais avec des problématiques de santé, nous verrons comme les patterns Cloud, l'ASP.Net Core, et les MicroServices, etc... mais aussi les Juristes, les méthodologies de gestion de projets Agile et IoT … sont devenus incontournables.
Plan de Reprise d'Activité avec Azure Site RecoveryMicrosoft
Et si les datacenters d'Azure devenaient vos centres de données de secours en cas de défaillance majeure ? Avec Azure Site Recovery, vous disposez d'une solution capable de répliquer vos serveurs physiques ou virtuels (VMware et Hyper-V) directement dans Azure et vous avez la possibilité de redémarrer votre production en quelques minutes le cas échéant. Cette session fera le tour de la solution avec des démonstrations.
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...Microsoft
"Fini l'artisanat, place à l'industrialisation !
Dans cette session, nous aborderons les différentes méthodes de déploiement d’applications dans Azure.
Nous ferons un rappel sur le nouveau modèle ARM (IaaS v2) et les « Resource Manager providers ».
Puis nous passerons aux différentes méthodes de déploiement : de la plus simple jusqu’aux plus élaborées comme par exemple, PowerShell, CLI, Custom Script, fichiers de configuration JSON, installation post-installation d’applications, solutions tierces. "
Transformation de la représentation : De la VR à la RA, aller & retour.Microsoft
Les nouvelles interfaces seront augmentées ou virtuelles ou ne seront pas. Faisons le tour des solutions existantes, des outils et des méthodes de la réalité alternative et connectée.
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...Microsoft
La plateforme Microsoft Azure offre différentes possibilités pour l’hébergement d’applications modernes. Dans cette session, nous passerons en revue les différents choix d’architectures possibles pour ces applications : machines virtuelles, services de plateformes comme Azure Service Fabric et Azure App Services, solutions d’hébergement de conteneurs Docker sont autant de possibilités qui s’offrent à vous dès aujourd’hui !
"ASP.NET Core est le nouveau framework Open Source et Cross Platform pour développer des applications connectées modernes : applications webs, backends mobiles ou applications IoT.
ASP.NET Core peut tourner sur .NET Core ou sur le .NET Framework complet. Son architecture a été complètement revue depuis la précédente génération du framework afin de fournir une expérience de développement plus moderne, plus flexible et plus performante.
Venez découvrir les bases d'ASP.NET Core afin de pouvoir l'envisager dans vos futurs projets !"
Open Source et Microsoft Azure, rêve ou réalité ?Microsoft
"Node.JS, MariaDb, MongoDb, Python, Ruby on Rails, PHP... toutes ces technologies et beaucoup d'autres ont deux points commun : elles sont Open Source et fonctionnent sur Microsoft Azure.
Faisons un point rapide sur la stratégie de Microsoft sur le sujet et démontrons les atouts d'Azure à travers l'exemple d'un projet web professionnel.
Celui-ci s’appuiera sur des technologies ouvertes : Drupal pour le CMS, PHP pour le langage, Linux pour le système d'exploitation, MariaDB pour la base de données ou encore Redis pour le cache distribué.
En plus d’aborder des nouveautés de l’offre Azure, cette session sera également l’occasion d’aborder les différents types de services disponibles dans Azure (infrastructure, plateforme, applicatif) et les questions à se poser pour choisir entre ceux-ci."
Comment développer sur la console Xbox One avec une application Universal Win...Microsoft
"Après avoir développé une application Universal Windows Platform (UWP) pour mobile et desktop, est-il possible de porter facilement son application sur Xbox One ?
Quels sont les problèmes que nous avons rencontré à Dailymotion pour le développement de notre application ?
Dans cette session, nous regarderons les différents éléments dont il faudra bien penser lorsqu’on développe pour la console Xbox One comme la taille de l’écran de la TV, le gamepad ou encore la remote. Je vous expliquerais les choix que nous avons fait à Dailymotion sur notre application Xbox One.
Quels sont les problèmes que nous avons rencontré à Dailymotion pour le développement de notre application ?"
Azure Service Fabric pour les développeursMicrosoft
"Venez découvrir comment Service Fabric va déverrouiller le potentiel de vos applications et de vos équipes : élasticité, modularité, scalabilité.
A travers de multiples démonstrations techniques, les secrets du développement pour Service Fabric vous seront révélés (Micro Services, Actor Model, Reliable storage, gestion des ressource).
"
Le Comptoir OCTO - Équipes infra et prod, ne ratez pas l'embarquement pour l'...OCTO Technology
par Claude Camus (Coach agile d'organisation @OCTO Technology) et Gilles Masy (Organizational Coach @OCTO Technology)
Les équipes infrastructure, sécurité, production, ou cloud, doivent consacrer du temps à la modernisation de leurs outils (automatisation, cloud, etc) et de leurs pratiques (DevOps, SRE, etc). Dans le même temps, elles doivent répondre à une avalanche croissante de demandes, tout en maintenant un niveau de qualité de service optimal.
Habitué des environnements développeurs, les transformations agiles négligent les particularités des équipes OPS. Lors de ce comptoir, nous vous partagerons notre proposition de valeur de l'agilité@OPS, qui embarquera vos équipes OPS en Classe Business (Agility), et leur fera dire : "nous ne reviendrons pas en arrière".
L'IA connaît une croissance rapide et son intégration dans le domaine éducatif soulève de nombreuses questions. Aujourd'hui, nous explorerons comment les étudiants utilisent l'IA, les perceptions des enseignants à ce sujet, et les mesures possibles pour encadrer ces usages.
Constat Actuel
L'IA est de plus en plus présente dans notre quotidien, y compris dans l'éducation. Certaines universités, comme Science Po en janvier 2023, ont interdit l'utilisation de l'IA, tandis que d'autres, comme l'Université de Prague, la considèrent comme du plagiat. Cette diversité de positions souligne la nécessité urgente d'une réponse institutionnelle pour encadrer ces usages et prévenir les risques de triche et de plagiat.
Enquête Nationale
Pour mieux comprendre ces dynamiques, une enquête nationale intitulée "L'IA dans l'enseignement" a été réalisée. Les auteurs de cette enquête sont Le Sphynx (sondage) et Compilatio (fraude académique). Elle a été diffusée dans les universités de Lyon et d'Aix-Marseille entre le 21 juin et le 15 août 2023, touchant 1242 enseignants et 4443 étudiants. Les questionnaires, conçus pour étudier les usages de l'IA et les représentations de ces usages, abordaient des thèmes comme les craintes, les opportunités et l'acceptabilité.
Résultats de l'Enquête
Les résultats montrent que 55 % des étudiants utilisent l'IA de manière occasionnelle ou fréquente, contre 34 % des enseignants. Cependant, 88 % des enseignants pensent que leurs étudiants utilisent l'IA, ce qui pourrait indiquer une surestimation des usages. Les usages identifiés incluent la recherche d'informations et la rédaction de textes, bien que ces réponses ne puissent pas être cumulées dans les choix proposés.
Analyse Critique
Une analyse plus approfondie révèle que les enseignants peinent à percevoir les bénéfices de l'IA pour l'apprentissage, contrairement aux étudiants. La question de savoir si l'IA améliore les notes sans développer les compétences reste débattue. Est-ce un dopage académique ou une opportunité pour un apprentissage plus efficace ?
Acceptabilité et Éthique
L'enquête révèle que beaucoup d'étudiants jugent acceptable d'utiliser l'IA pour rédiger leurs devoirs, et même un quart des enseignants partagent cet avis. Cela pose des questions éthiques cruciales : copier-coller est-il tricher ? Utiliser l'IA sous supervision ou pour des traductions est-il acceptable ? La réponse n'est pas simple et nécessite un débat ouvert.
Propositions et Solutions
Pour encadrer ces usages, plusieurs solutions sont proposées. Plutôt que d'interdire l'IA, il est suggéré de fixer des règles pour une utilisation responsable. Des innovations pédagogiques peuvent également être explorées, comme la création de situations de concurrence professionnelle ou l'utilisation de détecteurs d'IA.
Conclusion
En conclusion, bien que l'étude présente des limites, elle souligne un besoin urgent de régulation. Une charte institutionnelle pourrait fournir un cadre pour une utilisation éthique.
Le Comptoir OCTO - Qu’apporte l’analyse de cycle de vie lors d’un audit d’éco...OCTO Technology
Par Nicolas Bordier (Consultant numérique responsable @OCTO Technology) et Alaric Rougnon-Glasson (Sustainable Tech Consultant @OCTO Technology)
Sur un exemple très concret d’audit d’éco-conception de l’outil de bilan carbone C’Bilan développé par ICDC (Caisse des dépôts et consignations) nous allons expliquer en quoi l’ACV (analyse de cycle de vie) a été déterminante pour identifier les pistes d’actions pour réduire jusqu'à 82% de l’empreinte environnementale du service.
Vidéo Youtube : https://www.youtube.com/watch?v=7R8oL2P_DkU
Compte-rendu :
Ouvrez la porte ou prenez un mur (Agile Tour Genève 2024)Laurent Speyser
(Conférence dessinée)
Vous êtes certainement à l’origine, ou impliqué, dans un changement au sein de votre organisation. Et peut être que cela ne se passe pas aussi bien qu’attendu…
Depuis plusieurs années, je fais régulièrement le constat de l’échec de l’adoption de l’Agilité, et plus globalement de grands changements, dans les organisations. Je vais tenter de vous expliquer pourquoi ils suscitent peu d'adhésion, peu d’engagement, et ils ne tiennent pas dans le temps.
Heureusement, il existe un autre chemin. Pour l'emprunter il s'agira de cultiver l'invitation, l'intelligence collective , la mécanique des jeux, les rites de passages, .... afin que l'agilité prenne racine.
Vous repartirez de cette conférence en ayant pris du recul sur le changement tel qu‘il est généralement opéré aujourd’hui, et en ayant découvert (ou redécouvert) le seul guide valable à suivre, à mon sens, pour un changement authentique, durable, et respectueux des individus! Et en bonus, 2 ou 3 trucs pratiques!
OCTO TALKS : 4 Tech Trends du Software Engineering.pdfOCTO Technology
En cette année 2024 qui s’annonce sous le signe de la complexité, avec :
- L’explosion de la Gen AI
-Un contexte socio-économique sous tensions
- De forts enjeux sur le Sustainable et la régulation IT
- Une archipélisation des lieux de travail post-Covid
Découvrez les Tech trends incontournables pour délivrer vos produits stratégiques.
2. Photos et autres Sensors
sur Windows Phone
Nicolas CALVI
Consultant / Formateur
MVP Hardware Interaction Design & Development
Wygwam
Nicolas DELABARRE
Relations techniques développeurs
Code/Developpement
Code/developpement
Nokia Internal Use Only
3. Donnez votre avis !
Depuis votre smartphone sur :
http://notes.mstechdays.fr
De nombreux lots à gagner toute les heures !!!
Claviers, souris et jeux Microsoft…
Merci de nous aider à améliorer les Techdays !
#mstechdays
Code/developpement
Nokia Internal Use Only
5. Qu’est-ce que Windows Phone ?
Un OS créer par Microsoft à destination
des
Constructeurs de SmartPhone.
Une expérience unique grâce a Modern
UI
Des usages multiples
•
•
Grand public
Entreprise
#mstechdays
Code/developpement
Nokia Internal Use Only
6. Qu’est-ce que Windows Phone ?
Un concentré de technologie
- Caméra jusqu’à 41 MP
- Flash
- GPS
- Accéléromètre
- Baromètre (Altimètre)
- Gyroscope
- Wifi, Bluetooth, 4G
- NFC
- Magnétomètre (Boussole)
- Capteur de lumière ambiant
- Capteur de proximité
-…
#mstechdays
Code/developpement
Nokia Internal Use Only
7. Qu’allons nous aborder ?
Les senseurs
Non accessible
- Caméra
> Vidéo
> Photo
- Accéléromètre
- Compas
- GPS
- Gyroscope
- Inclinomètre
- Motion API
- Capteur de proximité
- Capteur de
luminosité
On finira par de la Réalité Augmentée avec GART
Le capteur NFC ne sera pas traiter dans cette session
#mstechdays
Code/developpement
Nokia Internal Use Only
8. SENSEUR : LA CAMÉRA
Il sait voir au-delà de votre perception
#mstechdays
Code/developpement
Nokia Internal Use Only
9. Comment afficher le flux vidéo ?
// Le namespace
using System.Windows.Media;
// Création du device de capture vidéo
CaptureSource captureSource = new CaptureSource();
VideoCaptureDevice device = CaptureDeviceConfiguration.GetDefaultVideoCaptureDevice();
// On vérifie si la capture est possible
if (device != null)
{
// On crée un Brush pour afficher la vidéo dans notre UI
VideoBrush videoBrush = new VideoBrush();
videoBrush.SetSource(captureSource);
VideoRect.Fill = videoBrush; // Rectangle dans notre XAML
// On démarre la préview Vidéo
captureSource.Start();
}
#mstechdays
Code/developpement
Nokia Internal Use Only
10. Comment afficher le flux vidéo ?
Ne pas oublier de fermer la camera video !
protected override void OnNavigatingFrom(NavigatingCancelEventArgs e)
{
if (captureSource != null)
captureSource.Stop();
base.OnNavigatingFrom(e);
}
#mstechdays
Code/developpement
Nokia Internal Use Only
11. Comment prendre une photo ?
// On vérifie si la caméra est disponible
if ((PhotoCamera.IsCameraTypeSupported(CameraType.Primary) == true) || (PhotoCamera.IsCameraTypeSupported(CameraType.FrontFacing) == true))
{
PhotoCamera photoCamera;
// Initialise la caméra en fonction des capacitées trouvées
if (PhotoCamera.IsCameraTypeSupported(CameraType.Primary))
photoCamera = new PhotoCamera(CameraType.Primary);
else
photoCamera = new PhotoCamera(CameraType.FrontFacing);
// On se branche sur les événements
photoCamera.Initialized += OnPhotoCameraInitialized;
photoCamera.CaptureCompleted += OnPhotoCameraCaptureCompleted;
photoCamera.CaptureImageAvailable += OnPhotoCameraCaptureImageAvailable;
photoCamera.CaptureThumbnailAvailable += OnPhotoCameraCaptureThumbnailAvailable;
// Création d'un Brush pour afficher le buffer dans notre UI
VideoBrush photoBrush = new VideoBrush();
photoBrush.SetSource(photoCamera);
// Affectation du Brush a notre zone de rendu
PhotoRect.Fill = photoBrush; // Rectangle dans notre XAML
}
#mstechdays
Code/developpement
Nokia Internal Use Only
12. Comment prendre une photo ?
// Déclenche la prise de photo
photoCamera.CaptureImage();
OnPhotoCameraCaptureImageAvailable
OnPhotoCameraCaptureCompleted
OnPhotoCameraCaptureThumbnailAvailable
#mstechdays
Code/developpement
Nokia Internal Use Only
13. Comment prendre une photo ?
// On sauvegarde la photo dans la média
MediaLibrary librarylibrary = new MediaLibrary();
library.SavePictureToCameraRoll("MonFichier.jpg", e.ImageStream);
// On se repositionne au début du flux de l'image
e.ImageStream.Seek(0, SeekOrigin.Begin);
// Enregistrement de la photo en JPEG dans le répertoire local
using (IsolatedStorageFile isStore = IsolatedStorageFile.GetUserStoreForApplication())
{
using (IsolatedStorageFileStream targetStream = isStore.OpenFile(fileName, FileMode.Create, FileAccess.Write))
{
// Initialisation du buffer (4ko)
byte[] readBuffer = new byte[4096];
int bytesRead = -1;
// On copie l'image dans le répertoire local
while ((bytesRead = e.ImageStream.Read(readBuffer, 0, readBuffer.Length)) > 0)
targetStream.Write(readBuffer, 0, bytesRead);
}
}
// On ferme le fichier
e.ImageStream.Close();
#mstechdays
Code/developpement
Nokia Internal Use Only
14. Comment prendre une photo ?
Ne pas oublier de fermer la camera photo !
protected override void OnNavigatingFrom(NavigatingCancelEventArgs e)
{
if (photoCamera != null)
{
photoCamera.Initialized -= OnPhotoCameraInitialized;
photoCamera.CaptureCompleted -= OnPhotoCameraCaptureCompleted;
photoCamera.CaptureImageAvailable -= OnPhotoCameraCaptureImageAvailable;
photoCamera.CaptureThumbnailAvailable -= OnPhotoCameraCaptureThumbnailAvailable;
photoCamera.Dispose();
}
base.OnNavigatingFrom(e);
}
#mstechdays
Code/developpement
Nokia Internal Use Only
15. Prise de photo haute résolution
Lumia 1020
7712 x 4352 (16:9)
7136 x 5360 (4:3)
Lumia 1520
5376 x 3024 (16:9)
4992 x 3744 (4:3)
#mstechdays
Code/developpement
Nokia Internal Use Only
16. NOKIA IMAGING SDK 1.0
Allez plus loin avec ses photos
#mstechdays
Code/developpement
Nokia Internal Use Only
17. Qu’est-ce que le SDK Nokia Imaging ?
• Librairie native Windows Phone 8, accessible depuis
des projets WP8 C#, VB et C++
• Inclus plus de 50 filtres de traitement d’images et
effets visuels paramétrables
• Ne nécessite aucune connaissance particulière en
traitement algorithmique d’images
• Décodage JPEG partiel – basée sur la technologie
RAJPEG, afin d’accéder aux données sans décoder
toute l’image JPEG :
• Prévisualisation rapide
• Application d’effets, tels que la rotation ou le
cropping d’images haute résolution
#mstechdays
Code/developpement
Nokia Internal Use Only
18. Liste de filtres et effets (1/3)
#mstechdays
Code/developpement
Nokia Internal Use Only
19. Liste de filtres et effets (2/3)
#mstechdays
Code/developpement
Nokia Internal Use Only
20. Liste de filtres et effets (3/3)
#mstechdays
Code/developpement
Nokia Internal Use Only
22. Architecture générale
• Cette librairie est architecturée en 3 blocs :
• Image sources (e.g. bitmaps, streams,
files)
• Effect (e.g. 50+ filtres)
• Renderers (outputs bitmaps or files)
• En combinant ces blocs, on va créer un
tunnel de traitement d’image ( ou “rendering
pipeline”)
• Une fois le tunnel créé, il est possible de
modifier les paramètres de filtres ou leur
#mstechdays
Code/developpement
séquencement.
Nokia Internal Use Only
Image Source
Filter Effects
MagicPen
Filter Filter
Flip
Rotation Filter
Renderer
24. Comment appliquer un filtre à une photo ?
// Création d'un nokia stream à partir d'un IO Stream
using(var source = new StreamImageSource(e.ChosenPhoto))
// Création d'un effet initial à partir de la source stream nokia
using (var effect = new FilterEffect(source))
// Instanciation d'un render de type "WriteableBitmap"
using( var render = new WriteableBitmapRenderer(effect,
_writeableBitmapTarget))
{
// Création de la liste des filtres
var filters = new List<IFilter>();
filters.Add(new MagicPenFilter());
// Affectation de la liste de filtres à notre objet "effet"
effect.Filters = filters;
// Exécution du rendu
await render.RenderAsync();
// Force le repaint de l'image résultante
_writeableBitmapTarget.Invalidate();
}
#mstechdays
Code/developpement
Nokia Internal Use Only
25. Et plusieurs filtres ?
// Création d'un nokia stream à partir d'un IO Stream
using( var source = new StreamImageSource(e.ChosenPhoto))
// Création d'un effet initial à partir de la source stream nokia
using( var effect = new FilterEffect(source))
// Instanciation d'un render de type "WriteableBitmap"
using( var render = new WriteableBitmapRenderer(effect,
_writeableBitmapTarget))
{
// Création de la liste des filtres
var filters = new List<IFilter>();
filters.Add(new MagicPenFilter());
filters.Add(new RotationFilter(15));
// Affectation de la liste de filtres à notre objet "effet"
effect.Filters = filters;
// Exécution du rendu
await render.RenderAsync();
// Force le repaint de l'image résultante
_writeableBitmapTarget.Invalidate();
}
#mstechdays
Code/developpement
Nokia Internal Use Only
26. Modifier les paramètres de filtre
Les paramètres peuvent être changés sans reconstruire le tunnel
de traitement.
•
Néanmoins il faut garder à l’esprit :
• Que le rendu est asynchrone, les paramètres ne peuvent pas être
changés en cours.
• Attention avec certains contrôles UI (e.g. sliders) qui peuvent générer
des événements n’importe quand !
•
Astuce : utiliser une file d’attente d’événements de type Queue<Action>.
#mstechdays
Code/developpement
Nokia Internal Use Only
27. Modifier les paramètres de filtre
UI (Slider)
Imaging
SDK
ValueChanged event
Rendering a
new preview
ValueChanged event
ValueChanged event
#mstechdays
Code/developpement
Nokia Internal Use Only
Rendering a
new preview
28. Modifier les paramètres de filtre
Définir une queue d’attente:
Queue<System.Action> _toDo = new Queue<System.Action>();
Quand la ressource est occupée, empiler l’action dans la queue d’attente:
_toDo.Enqueue(
() => { _warpFilter.Level = newValue; }
);
Lambda expression
directement
mise en queue
Quand la ressource est dispo, traitement des actions en attente :
while (_toDo.Count > 0)
{
Action action = _toDo.Dequeue();
action();
}
await _renderer.RenderAsync();
#mstechdays
Exécution des lambda
expression
Code/developpement
Nokia Internal Use Only
29. Image Source
Type de source
Class
ImageSource
Name
Stream
System.IO.Stream
StreamImageSource
Image Bitmap
Windows.Media.Imaging.WriteableBitmap
BitmapImageSource
Nokia.Graphics.Imaging.Bitmap
Windows Buffer
Windows.Storage.Streams.IBuffer
BufferImageSource
Camera
Windows.Phone.Media.Capture.
ICameraCaptureDevice
CameraPreviewImageSource
Flat Color
Windows.Ui.Color
ColorImageSource
File
Windows.Storage.IStorageFile
StorageFileImageSource
Random Access
Stream
Windows.Storage.Streams.
IRandomAccessStream
RandomAccessStreamImage
Source
#mstechdays
Code/developpement
Nokia Internal Use Only
Image Source
Filter Effects
MagicPen
Filter Filter
Flip
Rotation Filter
Renderer
30. Renderer
Image Source
Type de
Destination
Class
ImageSource
Name
Imaging SDK Bitmap
Nokia.Graphics.Imaging.Bitmap
BitmapRenderer
Writeable Bitmaps
(XAML Image )
WriteableBitmap
WriteableBitmapRenderer
JPEG
Windows.Storage.Streams.IBuffer
Filter Effects
JpegRenderer
MagicPen
Filter Filter
Flip
Rotation Filter
Renderer
#mstechdays
Code/developpement
Nokia Internal Use Only
31. Implémentation de filtre personnalisé
// Création d'un effet personnalisé
public class MyCustomFilter : CustomEffectBase
{
public MyCustomFilter(IImageProvider source): base(source)
{
}
protected override void OnProcess(PixelRegion sourcePixelRegion,
PixelRegion targetPixelRegion)
{
sourcePixelRegion.ForEachRow((index, width, pos) =>
{
for (int i = 0; i < width; ++i, ++index)
{
Windows.UI.Color c = ToColor(sourcePixelRegion.ImagePixels[index]);
c.R = (byte)Math.Min(255, c.R * 2);
c.G = (byte)Math.Min(255, c.G * 2);
c.B = (byte)Math.Min(255, c.B * 2);
targetPixelRegion.ImagePixels[index] = FromColor(c);
}
});
}
}
#mstechdays
Code/developpement
Nokia Internal Use Only
32. APIs pour créer des images sources de type
gradients
• Facilité d’utilisation
• Faible empreinte mémoire
Radial
Gradient
#mstechdays
Linear
Gradient
Code/developpement
Nokia Internal Use Only
33. Création d’image source gradient
// Affectation de la source de notre Image XAML avec un writeable bitmap
imageTarget.Source = _writeableBitmapTarget;
// Création d'un gradient de couleur de type "radial"
var rad = new RadialGradient(new Windows.Foundation.Point(0.5, 0.5),
new EllipseRadius(0.3, 0.3));
rad.Stops = new GradientStop[]
{
new GradientStop() { Color = Windows.UI.Color.FromArgb(255, 255, 0, 0), Offset = 0 },
new GradientStop() { Color = Windows.UI.Color.FromArgb(255, 0, 255, 0), Offset = 1 }
};
// Création d'une image source de type gradient à partir du gradient
using (var grad = new GradientImageSource(
new Windows.Foundation.Size(imageTarget.Width, imageTarget.Height), rad))
{
// Instantiation d'un render de type "WriteableBitmap" initialisé avec notre gradient
// source et le writeable bitmap de sortie
var render = new WriteableBitmapRenderer(grad, _writeableBitmapTarget);
// Exécution du rendu
await render.RenderAsync();
}
#mstechdays
Code/developpement
Nokia Internal Use Only
34. Blend modes
1ère image
Blend mode:
Color Burn
#mstechdays
Blend mode:
Color
Code/developpement
Nokia Internal Use Only
2nde image
Blend mode:
Add
35. Blend d’une photo avec un gradient
// Affectation de la source de notre Image XAML avec un writeable bitmap
imageTarget.Source = _writeableBitmapTarget;
// Création d'un nokia stream à partir d'un IO Stream
using (var backgroundSource = new StreamImageSource(e.ChosenPhoto))
// Création d'une image source de type gradient à partir du gradient
using(var foregroundSource = new GradientImageSource( ...))
// Création d'un filtre d'effet sourcé avec l'image choisie par l'utilisateur
using(var filterEffect = new FilterEffect(backgroundSource))
// Création d'un filtre de blending sourcé avec l'image source gradient
using(var blendFilter = new BlendFilter(foregroundSource))
// Instantiation d'un render de type "WriteableBitmap" initialisé avec notre filtre d'effet et le bitmap de sortie
using(var renderer = new WriteableBitmapRenderer(filterEffect, _writeableBitmapTarget))
{
// Configuration de notre filtre d'effet avec un seul effet ... notre effet blend
blendFilter.BlendFunction = BlendFunction.Color;
filterEffect.Filters = new IFilter[] { blendFilter };
// Exécution du rendu
await renderer.RenderAsync();
// Force le repaint de l'image resultante
_writeableBitmapTarget.Invalidate();
}
#mstechdays
Code/developpement
Nokia Internal Use Only
37. Pour aller plus loin
Point d’entrée des ressources techniques relative au SDK Imaging :
http://developer.nokia.com/resources/library/Lumia/nokia-imaging-sdk.html
Projets d’exemples basés sur le SDK Imaging (avec code source) :
http://developer.nokia.com/resources/library/Lumia/nokia-imagingsdk/sample-projects.html
Forum de discussion dédié au SDK Imaging :
http://developer.nokia.com/community/discussion
Articles Wiki :
http://developer.nokia.com/community/wiki/Portal:Windows_Phone_Multi
media
#mstechdays
Code/developpement
Nokia Internal Use Only
38. SENSEUR : ACCELEROMETRE
Une bonne raison de bouger utile
#mstechdays
Code/developpement
Nokia Internal Use Only
39. Qu’est-ce que c’est ?
Un accéléromètre est un capteur qui, fixé à
un mobile ou tout autre objet, permet de
mesurer l’accélération linéaire de ce dernier.
On parle encore d'accéléromètre même s'il
s'agit en fait de 3 accéléromètres qui
calculent les 3 accélérations linéaires selon
3 axes orthogonaux.
Source Wikipédia : http://fr.wikipedia.org/wiki/Acc%C3%A9l%C3%A9rom%C3%A8tre
#mstechdays
Code/developpement
Nokia Internal Use Only
40. API spécifique Windows Phone 8
// Le namespace
using Microsoft.Devices.Sensors;
// Comment savoir si le téléphone supporte cette fonctionnalité
if (!Accelerometer.IsSupported)
return;
// Comment l’instancier
accelerometer = new Accelerometer();
accelerometer.TimeBetweenUpdates = TimeSpan.FromMilliseconds(20);
// Comment récupérer l’information
accelerometer.CurrentValueChanged += OnAccelerometerCurrentValueChanged;
// Comment le démarrer
accelerometer.Start();
#mstechdays
Code/developpement
Nokia Internal Use Only
41. API spécifique Windows Phone 8
private void OnAccelerometerCurrentValueChanged(object sender,
SensorReadingEventArgs<AccelerometerReading> args)
{
AccelerometerReading reading = args.SensorReading;
this.Dispatcher.BeginInvoke(() =>
{
TxtTimestamp.Text = reading.Timestamp.ToString();
TxtAccelerationX.Text = reading.Acceleration.X.ToString();
TxtAccelerationY.Text = reading.Acceleration.Y.ToString();
TxtAccelerationZ.Text = reading.Acceleration.Z.ToString();
});
}
#mstechdays
Code/developpement
Nokia Internal Use Only
42. API spécifique Windows Phone 8
Ne pas oublier de fermer le senseur !
protected override void OnNavigatingFrom(NavigatingCancelEventArgs e)
{
if (accelerometer != null)
accelerometer.Stop();
base.OnNavigatingFrom(e);
}
#mstechdays
Code/developpement
Nokia Internal Use Only
43. API partagées avec Windows 8
// Le namespace
using Windows.Devices.Sensors;
// Comment l’instancier
accelerometer = Accelerometer.GetDefault();
// Comment savoir si le téléphone supporte cette fonctionnalité
if (accelerometer != NULL)
return;
// Comment récupérer l’information
accelerometer.ReadingChanged += OnAccelerometerReadingChanged;
#mstechdays
Code/developpement
Nokia Internal Use Only
44. API partagées avec Windows 8
private void OnAccelerometerReadingChanged(Accelerometer sender,
AccelerometerReadingChangedEventArgs args)
{
AccelerometerReading reading = args.SensorReading;
this.Dispatcher.BeginInvoke(() =>
{
TxtTimestamp.Text = reading.Timestamp.ToString();
TxtAccelerationX.Text = reading.Acceleration.X.ToString("0.00");
TxtAccelerationY.Text = reading.Acceleration.Y.ToString("0.00");
TxtAccelerationZ.Text = reading.Acceleration.Z.ToString("0.00");
}
}
#mstechdays
Code/developpement
Nokia Internal Use Only
45. SENSEUR : COMPAS
Pour que tout cela est un sens
#mstechdays
Code/developpement
Nokia Internal Use Only
46. Qu’est-ce que c’est ?
le compas magnétique, dont le principe de
fonctionnement est, comme une boussole,
l'orientation d'une aiguille aimantée dans le
champ du magnétisme terrestre.
Source Wikipédia : http://fr.wikipedia.org/wiki/Compas_(navigation)
#mstechdays
Code/developpement
Nokia Internal Use Only
47. API spécifique Windows Phone 8
// Le namespace
using Microsoft.Devices.Sensors;
// Comment savoir si le téléphone supporte cette fonctionnalité
if (!Compass.IsSupported)
return;
// Comment l’instancier
compass = new Compass();
compass.TimeBetweenUpdates = TimeSpan.FromMilliseconds(20);
// Comment récupérer l’information
compass.CurrentValueChanged += OnCompassCurrentValueChanged;
compass.Calibrate += OnCompassCalibrate;
// Comment le démarrer
compass.Start();
#mstechdays
Code/developpement
Nokia Internal Use Only
48. API spécifique Windows Phone 8
private void OnCompassCurrentValueChanged(object sender,
SensorReadingEventArgs<CompassReading> args)
{
CompassReading reading = args.SensorReading;
this.Dispatcher.BeginInvoke(() =>
{
TxtTimestamp.Text = reading.Timestamp.ToString();
TxtMagneticHeading.Text = reading.MagneticHeading.ToString();
TxtTrueHeading.Text = reading.TrueHeading.ToString();
TxtAccuracy.Text = reading.HeadingAccuracy.ToString();
});
}
#mstechdays
Code/developpement
Nokia Internal Use Only
49. API spécifique Windows Phone 8
private void OnCompassCalibrate(object sender, CalibrationEventArgs args)
{
// Mettre votre code ici
// Le compas a besoin d’être calibré
}
#mstechdays
Code/developpement
Nokia Internal Use Only
50. API spécifique Windows Phone 8
Pour calibrer le compas, si la propriété « Accuracy » est supérieure à 15,
il faut faire des « 8 » avec le téléphone.
Ceci peut-être gérer dans l’interface, en affichant un texte d’aide invitant
l’utilisateur a faire les « 8 ».
Dès que la valeur descend en dessous de 15, on peut notifier l’utilisateur
que le compas est calibré.
#mstechdays
Code/developpement
Nokia Internal Use Only
51. API spécifique Windows Phone 8
Ne pas oublier de fermer le senseur !
protected override void OnNavigatingFrom(NavigatingCancelEventArgs e)
{
if (compass != null)
compass.Stop();
base.OnNavigatingFrom(e);
}
#mstechdays
Code/developpement
Nokia Internal Use Only
52. API partagées avec Windows 8
// Le namespace
using Windows.Devices.Sensors;
// Comment l’instancier
compass = Compass.GetDefault();
// Comment savoir si le téléphone supporte cette fonctionnalité
if (compass != NULL)
return;
// Comment récupérer l’information
compass.ReadingChanged += OnCompassReadingChanged;
#mstechdays
Code/developpement
Nokia Internal Use Only
53. API partagées avec Windows 8
private void OnCompassReadingChanged(Compass sender, CompassReadingChangedEventArgs args)
{
CompassReading reading = args.SensorReading;
this.Dispatcher.BeginInvoke(() =>
{
CompassTime.Text = reading.Timestamp.ToString();
CompassMagneticHeading.Text = reading.HeadingMagneticNorth.ToString();
CompassTrueHeading.Text = reading.HeadingTrueNorth.Value.ToString();
}
}
#mstechdays
Code/developpement
Nokia Internal Use Only
54. SENSEUR : GPS
Si vous n’avez pas le sens de l’orientation mieux vaut le consulter
#mstechdays
Code/developpement
Nokia Internal Use Only
55. Qu’est-ce que c’est ?
Le Global Positioning System (GPS) – que
l'on peut traduire en français par « système
de localisation mondial » – est un système
de géolocalisation fonctionnant au niveau
mondial.
Source Wikipédia : http://fr.wikipedia.org/wiki/Global_Positioning_System
#mstechdays
Code/developpement
Nokia Internal Use Only
56. API spécifique Windows Phone 8
// Le namespace
using System.Device.Location;
// Comment l’instancier
gps = new GeoCoordinateWatcher(GeoPositionAccuracy.High); // Ou Default
gps.MovementThreshold = 0;
// Comment récupérer l’information
gps.PositionChanged += OnGeoCoordinateWatcherPositionChanged;
gps.StatusChanged += OnGeoCoordinateWatcherStatusChanged;
// Comment le démarrer
gps.Start();
#mstechdays
Code/developpement
Nokia Internal Use Only
57. API spécifique Windows Phone 8
private void OnGeoCoordinateWatcherStatusChanged(object sender,
GeoPositionStatusChangedEventArgs args)
{
this.Dispatcher.BeginInvoke(() =>
{
GPSManualStatus.Text = e.Status.ToString();
});
}
// Les valeurs de Status
GeoPositionStatus.Disabled
.Initializing
.NoData
.Ready
#mstechdays
Code/developpement
Nokia Internal Use Only
59. API spécifique Windows Phone 8
Ne pas oublier de fermer le senseur !
protected override void OnNavigatingFrom(NavigatingCancelEventArgs e)
{
if (gps != null)
gps.Stop();
base.OnNavigatingFrom(e);
}
#mstechdays
Code/developpement
Nokia Internal Use Only
60. API partagées avec Windows 8
// Le namespace
using Windows.Devices.Geolocation;
// Comment l’instancier
gps = new Geolocator();
gps.DesiredAccuracy = PositionAccuracy.High; // Ou Default
gps.DesiredAccuracyInMeters = 10; // En dessous de 10m ce n’est pas possible
gps.MovementThreshold = 0;
gps.ReportInterval = 1000; // Le GPS a un taux de rafraichissement d’1Hz
// Comment récupérer l’information
gps.PositionChanged += OnGeolocatorPositionChanged;
gps.StatusChanged += OnGeolocatorStatusChanged;
#mstechdays
Code/developpement
Nokia Internal Use Only
61. API spécifique Windows Phone 8
private void OnGeolocatorStatusChanged(Geolocator sender, StatusChangedEventArgs args)
{
this.Dispatcher.BeginInvoke(() =>
{
GPSManualStatus.Text = e.Status.ToString();
});
}
// Les valeurs de Status
PositionStatus.Disabled
.Initializing
.NoData
.NotAvailable
.NotInitialized
.Ready
#mstechdays
Code/developpement
Nokia Internal Use Only
62. API spécifique Windows Phone 8
private void OnGeolocatorPositionChanged (Geolocator sender, PositionChangedEventArgs args)
{
this.Dispatcher.BeginInvoke(() =>
{
GPSTime.Text = args.Position.Coordinate.Timestamp.ToString();
GPSLatitude.Text = args.Position.Coordinate.Latitude.ToString();
GPSLongitude.Text = args.Position.Coordinate.Longitude.ToString();
GPSAltitude.Text = args.Position.Coordinate.Altitude.ToString();
GPSAltitudeAccuracy.Text = args.Position.Coordinate.AltitudeAccuracy.ToString();
GPSAccuracy.Text = args.Position.Coordinate.Accuracy.ToString();
GPSSpeed.Text = args.Position.Coordinate.Speed.ToString();
}
}
#mstechdays
Code/developpement
Nokia Internal Use Only
63. SENSEUR : GYROSCOPE
Il ne vous fera pas tourner en bourrique celui là
#mstechdays
Code/developpement
Nokia Internal Use Only
64. Qu’est-ce que c’est ?
Un gyroscope (du grec « qui observe la rotation
») est un appareil qui exploite le principe de la
conservation du moment angulaire en physique
(ou encore stabilité gyroscopique ou effet
gyroscopique).
Cette loi fondamentale de la mécanique veut
qu'en l'absence de couple appliqué à un solide en
rotation, celui-ci conserve son axe de rotation
invariable
Source Wikipédia : http://fr.wikipedia.org/wiki/Gyroscope
#mstechdays
Code/developpement
Nokia Internal Use Only
65. API spécifique Windows Phone 8
// Le namespace
using Microsoft.Devices.Sensors;
// Comment savoir si le téléphone supporte cette fonctionnalité
if (!Gyroscope.IsSupported)
return;
// Comment l’instancier
gyroscope = new Gyroscope();
gyroscope.TimeBetweenUpdates = TimeSpan.FromMilliseconds(20);
// Comment récupérer l’information
gyroscope.CurrentValueChanged += OnGyroscopeCurrentValueChanged;
// Comment le démarrer
gyroscope.Start();
#mstechdays
Code/developpement
Nokia Internal Use Only
66. API spécifique Windows Phone 8
private void OnGyroscopeCurrentValueChanged(object sender,
SensorReadingEventArgs<GyroscopeReading> args)
{
GyroscopeReading reading = args.SensorReading;
this.Dispatcher.BeginInvoke(() =>
{
TxtTimestamp.Text = reading.Timestamp.ToString();
TxtRotationX.Text = reading.RotationRate.X.ToString();
TxtRotationY.Text = reading.RotationRate.Y.ToString();
TxtRotationZ.Text = reading.RotationRate.Z.ToString();
}
}
#mstechdays
Code/developpement
Nokia Internal Use Only
67. API spécifique Windows Phone 8
Ne pas oublier de fermer le senseur !
protected override void OnNavigatingFrom(NavigatingCancelEventArgs e)
{
if (gyroscope != null)
gyroscope.Stop();
base.OnNavigatingFrom(e);
}
#mstechdays
Code/developpement
Nokia Internal Use Only
68. API partagées avec Windows 8
// Le namespace
using Windows.Devices.Sensors;
// Comment l’instancier
gyroscope = Gyrometer.GetDefault();
// Comment savoir si le téléphone supporte cette fonctionnalité
if (gyroscope != NULL)
return;
// Comment récupérer l’information
gyroscope.ReadingChanged += OnGyroscopeReadingChanged;
#mstechdays
Code/developpement
Nokia Internal Use Only
69. API partagées avec Windows 8
private void OnGyroscopeReadingChanged (Gyrometer sender, GyrometerReadingChangedEventArgs
args)
{
GyrometerReading reading = args.SensorReading;
this.Dispatcher.BeginInvoke(() =>
{
TxtTimestamp.Text = reading.Timestamp.ToString();
TxtRotationX.Text = reading.AngularVelocityX.ToString("0.00");
TxtRotationY.Text = reading.AngularVelocityY.ToString("0.00");
TxtRotationZ.Text = reading.AngularVelocityZ.ToString("0.00");
}
}
#mstechdays
Code/developpement
Nokia Internal Use Only
70. SENSEUR : INCLINOMÈTRE
Tel le bambou, il sait plier.
#mstechdays
Code/developpement
Nokia Internal Use Only
71. Qu’est-ce que c’est ?
Un inclinomètre (ou clinomètre) est un capteur
servant à mesurer des angles par rapport à la
ligne d'horizon (ou horizontale).
Là où le niveau à bulle (ou niveau) permet de
détecter précisément où se situe l'horizontale,
l'inclinomètre détermine en plus l'angle
d'inclinaison par rapport à cette horizontale.
Source Wikipédia : http://fr.wikipedia.org/wiki/Inclinom%C3%A8tre
#mstechdays
Code/developpement
Nokia Internal Use Only
72. API partagées avec Windows 8
// Le namespace
using Windows.Devices.Sensors;
// Comment l’instancier
inclinometer = Inclinometer.GetDefault();
// Comment savoir si le téléphone supporte cette fonctionnalité
if (inclinometer!= NULL)
return;
// Comment récupérer l’information
inclinometer.ReadingChanged += OnInclinometerReadingChanged;
#mstechdays
Code/developpement
Nokia Internal Use Only
73. API partagées avec Windows 8
private void OnInclinometerReadingChanged (Inclinometer sender,
InclinometerReadingChangedEventArgs args)
{
InclinometerReading reading = args.SensorReading;
this.Dispatcher.BeginInvoke(() =>
{
TxtTimestamp.Text = reading.Timestamp.ToString();
TxtPitch.Text = reading.PitchDegrees.ToString("0.00");
TxtRoll.Text = reading.RollDegrees.ToString("0.00");
TxtYaw.Text = reading.YawDegrees.ToString("0.00");
}
}
#mstechdays
Code/developpement
Nokia Internal Use Only
74. MOTION API
Avoir tous ses sens en éveils
#mstechdays
Code/developpement
Nokia Internal Use Only
75. Qu’est-ce que c’est ?
Vous pouvez utiliser la « Motion API » pour créer des applications Windows
Phone qui utilisent l'orientation et le mouvement de l'appareil dans l'espace
comme un mécanisme d'entrée.
La plate-forme Windows Phone inclut des APIs pour obtenir des données
brutes du capteur de la boussole de l'appareil, gyroscope, accéléromètre et des
capteurs.
Cependant la « Motion API » gère le calcul complexe nécessaire pour combiner
les données de ces capteurs et produire des valeurs facile à utiliser pour
l'attitude et le mouvement de l'appareil.
#mstechdays
Code/developpement
Nokia Internal Use Only
76. Comment ça marche ?
// Le namespace
using Microsoft.Devices.Sensors;
// Comment savoir si le téléphone supporte cette fonctionnalité
if (!Motion.IsSupported)
return;
// Comment l’instancier
motion = new Motion();
motion.TimeBetweenUpdates = TimeSpan.FromMilliseconds(20);
// Comment récupérer l’information
motion.CurrentValueChanged += OnMotionCurrentValueChanged;
// Comment le démarrer
motion.Start();
#mstechdays
Code/developpement
Nokia Internal Use Only
77. Comment ça marche ?
private void OnGyroscopeCurrentValueChanged(object sender, SensorReadingEventArgs<MotionReading>
args)
{
MotionReading reading = args.SensorReading;
this.Dispatcher.BeginInvoke(() =>
{
TxtTimestamp.Text = reading.Timestamp.ToString();
TxtPitch.Text = reading.Attitude.Pitch.ToString(); // En radian
TxtRoll.Text = reading.Attitude.Roll.ToString(); // En radian
TxtYaw.Text = reading.Attitude.Yaw.ToString(); // En radian
TxtAccellerationX.Text = reading.DeviceAcceleration.X.ToString();
TxtAccellerationY.Text = reading.DeviceAcceleration.Y.ToString();
TxtAccellerationZ.Text = reading.DeviceAcceleration.Z.ToString();
}
}
#mstechdays
Code/developpement
Nokia Internal Use Only
78. Connaître l’attitude
La « Motion API » permet de connaître l’orientation du téléphone dans un
espace 3D. Dans les informations retournées, on peut récupérer le Quaternion
et la matrice de rotation de cette attitude.
MotionReading reading = args.SensorReading;
// Récupération du Quaternion
reading.Quaternion;
// Récupération de la matrice de rotation
reading.RotationMatrix;
#mstechdays
Code/developpement
Nokia Internal Use Only
79. REALITE AUGMENTEE : GART
Regarder le monde sous un nouveau jour, n’est-ce pas Wayne ?
#mstechdays
Code/developpement
Nokia Internal Use Only
80. Qu’est-ce que GART ?
Un SDK Open Source développer
par un employé de Microsoft.
Permet de faire de la réalité
augmentée Géo localisée.
Disponible à cette adresse :
http://gart.codeplex.com/
#mstechdays
Compatible :
- Windows Phone 7 et 8
- Windows 8 et 8.1
Code/developpement
Nokia Internal Use Only
81. NOKIA JOB HUB
Application Pilote Windows Phone réalisée avec GART
#mstechdays
Code/developpement
Nokia Internal Use Only
84. Comment ça marche ?
// On crée une liste de point a afficher
items = new ObservableCollection<ARItem>();
// Création d’un élément a afficher
// Mettre ici des éléments valide en coordonnée pour les voir apparaitre
// Pour trouver des coordonnées, allez sur Bing Maps
ARItem point = new ARItem();
point.Content = "Un objet a afficher";
point.GeoLocation = new System.Device.Location.GeoCoordinate(48.821229, 2.254397, 0);
items.Add(point);
// On affecte la source
this.ARDisplay.ARItems = items;
#mstechdays
Code/developpement
Nokia Internal Use Only
85. Comment ça marche ?
protected override void OnNavigatedFrom(System.Windows.Navigation.NavigationEventArgs e)
{
this.ARDisplay.StopServices();
base.OnNavigatedFrom(e);
}
protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
{
this.ARDisplay.StartServices();
base.OnNavigatedTo(e);
}
#mstechdays
Code/developpement
Nokia Internal Use Only
86. DES QUESTIONS ?
N’hésitez pas on sera ravi de vous répondre.
#mstechdays
Code/developpement
Nokia Internal Use Only
87. Restez en contact
Nicolas Calvi
Blog > blog.nicolascalvi.com
Twitter > @nicolascalvi
Page Facebook > Black Blog
Nicolas Delabarre
Blog > www.nokiadevblog.fr
Twitter > @NokiaDev_France
Page Facebook > NokiaDevFrance
Code source : http://sdrv.ms/1coyrnH
#mstechdays
Code/developpement
Nokia Internal Use Only
Image source: Utilisé en début de traitement, cette source fournit l’image originale générée ou créée depuis un stockage .Toutes les sources d’image implémentent l’interface IImageProvider.Effect: Prends une ou plusieurs images en entrée , exécute un traitement et délivre une nouvelle image en sortie. Toutes les classes de type « Effect » implémentent l’interface IImageConsumer, prenant en entrée une image source originale ; par ailleurs tout comme les classes de type « images sources », un objet « Effect » implémente l’interface IImageProvider pour la génération de l’image résultanteRenderer: Intervient à la fin du traitement. Il a pour rôle de convertir l’image résultante du traitement dans un format particulier (JPEG, bitmap …) consommé par l’application. Ce type d’objet implémente l’interface IImageConsumer
Queue : FIFO appartenant au namespaceSystem.Collections.GenericAction : Classe delegate appartenant au namespace System
Camera : Implementations de l’interfaceICameraCaptureDeviceinclut les objets de type PhotoCaptureDevice et AudioVideoCaptureDevice.Sourced’imagescompressées (PNG/JPEG) : StreamImageSource / BufferImageSource / StorageFileImageSource / RandomAccessStreamImageSource
Exemple implémentant une nouvelle classe, dérivée de CustomEffectBaseIl faudra surcharger la méthode OnProcess, donnant directement accès aux pixels d’originePixelRegionest utilisée comme “helper class” afin de parcourir les pixels de la source et la cible Dans l’exemple ci-joint, MyCustomFilterdouble la valeur de chaque composante RGB
Paramètres du filterChromakeyFilter :Couleur qui sera remplacée par de la transparenceTolérancedans la valeur de couleurremplacée (0 : tolerance faible, 1 : tolerance large)Niveau de suppression de bruit (0 : bruit faible, 1 : bruit visible)