protected override void OnNavigatedTo(NavigationEventArgs e) { if (e.NavigationMode == NavigationMode.Back) { return; } SystemTray.IsVisible = true; if (NavigationContext.QueryString.ContainsKey("editprofile")) { editProfile = true; } Message = "Generate a random cartoon:"; using (var db = new GrimacizerContext(GrimacizerContext.ConnectionString)) { var settings = db.Settings.FirstOrDefault(); width = settings.DefaultImagePixelWidth; height = settings.DefaultImagePixelHeight; _sex = settings.Sex; _race = settings.Race; } ImageSource = LocalImagesHelper.ReadImageFromIsolatedStorage(Constants.DEFAULT_FACE_PHOTO, width, height); GenerateRandomCartoon(); }
private void cam_CaptureImageAvailable(object sender, ContentReadyEventArgs e) { Dispatcher.BeginInvoke(() => { var bmp = new BitmapImage(); bmp.SetSource(e.ImageStream); var writeableBmp = BitmapFactory.New(bmp.PixelWidth, bmp.PixelHeight).FromStream(e.ImageStream); imageBitmap = WriteableBitmapHelpers.TransformBitmapByCameraTypeAndPageOrientation( writeableBmp, cam.CameraType, Orientation); var randomFileName = string.Format("{0}.jpg", Guid.NewGuid().ToString()); LocalImagesHelper.WriteImageToIsolatedStorage(randomFileName, imageBitmap); using (var db = new GrimacizerContext(GrimacizerContext.ConnectionString)) { db.SavedPictures.InsertOnSubmit(new PictureItem { Name = randomFileName, Width = imageBitmap.PixelWidth, Height = imageBitmap.PixelHeight }); db.SubmitChanges(); } e.ImageStream.Close(); }); }
protected override void OnNavigatedTo(NavigationEventArgs e) { SystemTray.IsVisible = true; using (var db = new GrimacizerContext(GrimacizerContext.ConnectionString)) { History.Clear(); var cartoon = LocalImagesHelper.ReadImageFromIsolatedStorage(Constants.DEFAULT_CARTOON_PHOTO, Constants.CartoonWidth, Constants.CartoonHeight); History.Add(new HistoryImage { Name = Constants.DEFAULT_CARTOON_PHOTO, Image = cartoon, Width = Constants.CartoonWidth, Height = Constants.CartoonHeight }); var savedPictures = db.SavedPictures; foreach (var picture in savedPictures) { var image = LocalImagesHelper.ReadImageFromIsolatedStorage(picture.Name, picture.Width, picture.Height); History.Add(new HistoryImage { Name = picture.Name, Image = image, Width = picture.Width, Height = picture.Height }); } NotifyPropertyChanged(() => History); } }
protected override async void OnNavigatedTo(NavigationEventArgs e) { if (e.NavigationMode == NavigationMode.Back) { return; } SystemTray.IsVisible = true; int width, height; using (var db = new GrimacizerContext(GrimacizerContext.ConnectionString)) { var settings = db.Settings.FirstOrDefault(); width = settings.DefaultImagePixelWidth; height = settings.DefaultImagePixelHeight; } ImageSource = LocalImagesHelper.ReadImageFromIsolatedStorage(Constants.DEFAULT_FACE_PHOTO, width, height); var worker = new BackgroundWorker(); worker.DoWork += (sender, arg) => { FaceSdkHelper.Initialize(); }; await worker.BeginWorkerAsync(); var sdkImg = ImageConverter.SystemToSdk(ImageSource); var result = FaceSdkHelper.Detect(sdkImg); ImageSource = ImageConverter.SdkToSystem(result); if (SdkHelper.foundFace == true && SdkHelper.results.Count == 1) { (ApplicationBar.Buttons[0] as ApplicationBarIconButton).IsEnabled = true; (ApplicationBar.Buttons[1] as ApplicationBarIconButton).IsEnabled = true; IsCalculating = false; } else { MessageBox.Show("Camera did not detect your face! Try again!"); NavigationService.GoBack(); } FaceSdkHelper = null; GC.Collect(); }
private void next_Click(object sender, EventArgs e) { LocalImagesHelper.WriteImageToIsolatedStorage(Constants.DEFAULT_FACE_PHOTO, ImageSource); using (var db = new GrimacizerContext(GrimacizerContext.ConnectionString)) { var settings = db.Settings.FirstOrDefault(); settings.DefaultImagePixelHeight = ImageSource.PixelHeight; settings.DefaultImagePixelWidth = ImageSource.PixelWidth; settings.PhoneOrientation = orientation; db.SubmitChanges(); } NavigationService.Navigate(new Uri(Pages.CreateProfile_ProfileCreated, UriKind.RelativeOrAbsolute)); }
protected override void OnNavigatedTo(NavigationEventArgs e) { if (e.NavigationMode == NavigationMode.Back) { return; } SystemTray.IsVisible = true; _pictureName = HttpUtility.UrlDecode(NavigationContext.QueryString["image"]); _pictureWidth = int.Parse(NavigationContext.QueryString["width"]); _pictureHeight = int.Parse(NavigationContext.QueryString["height"]); Image = LocalImagesHelper.ReadImageFromIsolatedStorage(_pictureName, _pictureWidth, _pictureHeight); if (_pictureName == Constants.DEFAULT_CARTOON_PHOTO) { (ApplicationBar.Buttons[0] as ApplicationBarIconButton).IsEnabled = false; } }
private void Next_Click(object sender, EventArgs e) { LocalImagesHelper.WriteImageToIsolatedStorage(Constants.DEFAULT_CARTOON_PHOTO, ImageSource); if (editProfile) { NavigationService.GoBack(); return; } using (var db = new GrimacizerContext(GrimacizerContext.ConnectionString)) { var settings = db.Settings.FirstOrDefault(); settings.Initialized = true; db.SubmitChanges(); } NavigationService.Navigate(new Uri(Pages.MainPage, UriKind.RelativeOrAbsolute)); }
protected override void OnNavigatedTo(NavigationEventArgs e) { if (e.NavigationMode == NavigationMode.Back) { return; } _pictureName = HttpUtility.UrlDecode(NavigationContext.QueryString["image"]); _pictureWidth = int.Parse(NavigationContext.QueryString["width"]); _pictureHeight = int.Parse(NavigationContext.QueryString["height"]); Image = LocalImagesHelper.ReadImageFromIsolatedStorage(_pictureName, _pictureWidth, _pictureHeight); client = new FacebookClient(); client.PostCompleted += Facebook_PostComplete; //Checking for saved token if (FacebookClientHelpers.GetToken() != null) { client.AccessToken = FacebookClientHelpers.GetToken(); } }
protected override void OnNavigatedTo(NavigationEventArgs e) { SystemTray.IsVisible = true; while (NavigationService.CanGoBack) { NavigationService.RemoveBackEntry(); } using (var db = new GrimacizerContext(GrimacizerContext.ConnectionString)) { var settings = db.Settings.FirstOrDefault(); PlayerName = settings.PlayerName; Adventure = Constants.AvailableLevels - settings._16_PassedLevels; Survival = settings._17_SurvivalScore; MultiplayerWin = settings._18_MultiplayerWinScore; MultiplayerLose = settings._19_MultiplayerLoseScore; } Cartoon = LocalImagesHelper.ReadImageFromIsolatedStorage(Constants.DEFAULT_CARTOON_PHOTO, Constants.CartoonWidth, Constants.CartoonHeight); }
protected override void OnNavigatedTo(NavigationEventArgs e) { if (e.NavigationMode == NavigationMode.Back) { return; } SystemTray.IsVisible = true; int width, height; using (var db = new GrimacizerContext(GrimacizerContext.ConnectionString)) { var settings = db.Settings.FirstOrDefault(); PlayerName = settings.PlayerName; width = settings.DefaultImagePixelWidth; height = settings.DefaultImagePixelHeight; } DefaultPhoto = LocalImagesHelper.ReadImageFromIsolatedStorage(Constants.DEFAULT_FACE_PHOTO, width, height); DefaultCartoon = LocalImagesHelper.ReadImageFromIsolatedStorage(Constants.DEFAULT_CARTOON_PHOTO, Constants.CartoonWidth, Constants.CartoonHeight); }
private void GenerateRandomCartoon() { DisableAppBarButtons(); Message = "Running ..."; IsCalculating = true; var defaultPhoto = LocalImagesHelper.ReadImageFromIsolatedStorage(Constants.DEFAULT_FACE_PHOTO, width, height); var sdkImg = ImageConverter.SystemToSdk(defaultPhoto); var engine = CtnEngine.Create(); var generatorType = GetGeneratorGuid(); var generator = engine.GetSketchGenerator(generatorType); ThreadPool.QueueUserWorkItem((WaitCallback)((o) => { var random = new Random(DateTime.Now.Millisecond); var sketch = CtnEngine.CreateSketch(); sketch.Image = sdkImg; var detector = engine.GetFaceDetector(); var alignmentor = engine.GetFaceAlignmentor(); Dispatcher.BeginInvoke(() => Message = "Detecting face ..."); var rect = detector.Detect(sketch); detector.FinalizeRect(sketch, rect); alignmentor.LoadRawSketch(sketch); sketch = alignmentor.GetSketch(); Dispatcher.BeginInvoke(() => Message = "Generating sketch ..."); var rcBound = new Rectangle(0, Constants.CartoonWidth, 0, Constants.CartoonHeight); generator.Generate(sketch, rcBound); Dispatcher.BeginInvoke(() => Message = "Exaggerating face ..."); var exaggerator = engine.GetFaceExaggerator(); exaggerator.Exaggerate(sketch, ExaggerationType.AutoAddConstr, 0.0f); Dispatcher.BeginInvoke(() => Message = "Applying templates ..."); var templateFilters = engine.GetCartoonTemplates(generatorType); foreach (var tf in templateFilters) { if (tf.Count == 0) { continue; } // Skip animation templates if (tf.TemplateId == CtnGuid.GUID_TEMPLATETYPE_ANIMATEBODYCLOTH || tf.TemplateId == CtnGuid.GUID_TEMPLATETYPE_ANIMATEBODYCLOTH_P || tf.TemplateId == CtnGuid.GUID_TEMPLATETYPE_ANIMATEEXPRESSION || tf.TemplateId == CtnGuid.GUID_TEMPLATETYPE_MULTIPART_ANIMATION) { continue; } // Randomly apply certain templates if (tf.TemplateId == CtnGuid.GUID_TEMPLATETYPE_EXPRESSION || tf.TemplateId == CtnGuid.GUID_TEMPLATETYPE_EXPRESSION_P || tf.TemplateId == CtnGuid.GUID_TEMPLATETYPE_PET || tf.TemplateId == CtnGuid.GUID_TEMPLATETYPE_PET_P || tf.TemplateId == CtnGuid.GUID_TEMPLATETYPE_GLASSES || tf.TemplateId == CtnGuid.GUID_TEMPLATETYPE_GLASS_P || tf.TemplateId == CtnGuid.GUID_TEMPLATETYPE_BACKGROUND || tf.TemplateId == CtnGuid.GUID_TEMPLATETYPE_BACKGROUND_P) { if (random.Next(0, 2) == 0) { continue; } } int index = random.Next(0, tf.Count); tf.Apply(sketch, index); } Dispatcher.BeginInvoke(() => Message = "Rendering sketch ..."); float ratio, tx, ty; sketch.FitToRect(Rectangle.FromLTWH(0, 0, Constants.CartoonWidth, Constants.CartoonHeight), out ratio, out tx, out ty); _sketchI = sketch.Render(Constants.CartoonWidth, Constants.CartoonHeight); Dispatcher.BeginInvoke(() => { Message = "A random cartoon effect was generated!"; ImageSource = ImageConverter.SdkToSystem(_sketchI); EnableAppBarButtons(); IsCalculating = false; }); GC.Collect(); })); }