public static void WriteDefaultFaceCalculation(PointF[] shape) { var calculatedFaceAlignment = GetFaceCalculationsFromShape(shape); using (var db = new GrimacizerContext(GrimacizerContext.ConnectionString)) { var faceCalculations = db.FaceCalculations.FirstOrDefault(); faceCalculations._0_TamplaStanga = calculatedFaceAlignment._0_TamplaStanga; faceCalculations._1_TamplaDreapta = calculatedFaceAlignment._1_TamplaDreapta; faceCalculations._2_Barbie = calculatedFaceAlignment._2_Barbie; faceCalculations._3_SpranceanaDreapta = calculatedFaceAlignment._3_SpranceanaDreapta; faceCalculations._4_ArieOchiStang = calculatedFaceAlignment._4_ArieOchiStang; faceCalculations._5_ArieOchiDrept = calculatedFaceAlignment._5_ArieOchiDrept; faceCalculations._6_MarimeOchiStang = calculatedFaceAlignment._6_MarimeOchiStang; faceCalculations._7_MarimeOchiDrept = calculatedFaceAlignment._7_MarimeOchiDrept; faceCalculations._8_InaltimeGura = calculatedFaceAlignment._8_InaltimeGura; faceCalculations._9_Unghi_60_67 = calculatedFaceAlignment._9_Unghi_60_67; faceCalculations._10_Unghi_64_65 = calculatedFaceAlignment._10_Unghi_64_65; faceCalculations._11_LungimeGuraExterior = calculatedFaceAlignment._11_LungimeGuraExterior; faceCalculations._12_UnghiNasStanga = calculatedFaceAlignment._12_UnghiNasStanga; faceCalculations._13_UnghiNasDreapta = calculatedFaceAlignment._13_UnghiNasDreapta; faceCalculations._14_ArieFata = calculatedFaceAlignment._14_ArieFata; faceCalculations._15_ArieGura = calculatedFaceAlignment._15_ArieGura; db.SubmitChanges(); } }
public static FaceCalculationsItem ReadDefaultFaceCalculations() { using (var db = new GrimacizerContext(GrimacizerContext.ConnectionString)) { return db.FaceCalculations.FirstOrDefault(); } }
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); } }
public App() { UnhandledException += Application_UnhandledException; InitializeComponent(); InitializePhoneApplication(); using (var db = new GrimacizerContext(GrimacizerContext.ConnectionString)) { if (!db.DatabaseExists()) { db.CreateDatabase(); } } }
private void DeleteImage_Click(object sender, EventArgs e) { using (var isoStore = IsolatedStorageFile.GetUserStoreForApplication()) { if (isoStore.FileExists(_pictureName)) { isoStore.DeleteFile(_pictureName); } } using (var db = new GrimacizerContext(GrimacizerContext.ConnectionString)) { var picture = db.SavedPictures.FirstOrDefault(t => t.Name == _pictureName); db.SavedPictures.DeleteOnSubmit(picture); db.SubmitChanges(); } NavigationService.GoBack(); }
private void Next_Click(object sender, EventArgs e) { if (PlayerName.IsNullOrEmptyOrWhiteSpace()) { MessageBox.Show("Please insert a name"); return; } using (var db = new GrimacizerContext(GrimacizerContext.ConnectionString)) { var settings = db.Settings.FirstOrDefault(); settings.PlayerName = PlayerName; settings.Sex = GetSexType(); settings.Race = GetHumanRaceType(); db.SubmitChanges(); } NavigationService.Navigate(new Uri(Pages.CreateProfile_TakePhotoDefault, UriKind.Relative)); }
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); }
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(); }
protected override async void OnNavigatedTo(NavigationEventArgs e) { if (e.NavigationMode == NavigationMode.Back) return; await Extensions.WaitAsync(3000); var settingsExists = false; using (var db = new GrimacizerContext(GrimacizerContext.ConnectionString)) { var count = db.Settings.Count(); if (count == 0) { db.Settings.InsertOnSubmit(new SettingsItem { Initialized = false, LastMomentOfDeath = DateTime.Now }); db.FaceCalculations.InsertOnSubmit(new FaceCalculationsItem()); for (int i = 1; i <= Constants.AvailableLevels; i++) { db.Levels.InsertOnSubmit(new LevelItem { Level = i, Stars = 0 }); } db.SubmitChanges(); } var settings = db.Settings.FirstOrDefault(); settingsExists = settings.Initialized; } if (settingsExists) { NavigationService.Navigate(new Uri(Pages.MainPage, UriKind.RelativeOrAbsolute)); } else { NavigationService.Navigate(new Uri(Pages.CreateProfile_CreateProfile, UriKind.RelativeOrAbsolute)); } }
private FaceCalculationsItem GetDefaultFaceCalculations() { using (var db = new GrimacizerContext(GrimacizerContext.ConnectionString)) { return db.FaceCalculations.FirstOrDefault(); } }
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)); }
private async Task startHardWork() { worker = new BackgroundWorker(); worker.DoWork += (sender, arg) => { FaceSdkHelper.Initialize(); }; await worker.BeginWorkerAsync(); var sdkImg = ImageConverter.SystemToSdk(imageBitmap); var result = FaceSdkHelper.Detect(sdkImg); if (SdkHelper.foundFace == true && SdkHelper.results.Count == 1) { var shape = SdkHelper.results.FirstOrDefault(); var defaultFaceCalculations = Calculus.ReadDefaultFaceCalculations(); var array = FaceCalculationsHelpers.FromFaceCalculationsToVector(defaultFaceCalculations); var calculatedFaceCalculations = Calculus.GetFaceCalculationsFromShape(shape); var resultArray = FaceCalculationsHelpers.FromFaceCalculationsToVector(calculatedFaceCalculations); var conditions = new Conditions(); var resultFromCalculus = conditions.GetLevelVerifierFunction(Level).Invoke(array, resultArray); if (resultFromCalculus != 0) { using (var db = new GrimacizerContext(GrimacizerContext.ConnectionString)) { var passedLevels = db.Settings.FirstOrDefault()._16_PassedLevels; db.Settings.FirstOrDefault()._16_PassedLevels = Math.Max(passedLevels, Level); var level = db.Levels.FirstOrDefault(t => t.Level == Level); level.Stars = Math.Max(resultFromCalculus, level.Stars); db.SubmitChanges(); } MessageBox.Show("Level passed. You won " + resultFromCalculus + " point" + (resultFromCalculus > 1 ? "s!" : "!")); } else { InGameLifeHelpers.LoseLife(); MessageBox.Show("Level failed"); } } else { MessageBox.Show("Camera did not detect your face! Try again!"); } NavigationService.Navigate(new Uri(Pages.GeneralGameplay_Adventure, UriKind.RelativeOrAbsolute)); FaceSdkHelper = null; GC.Collect(); }
void startHardWork(int currentPhoto) { try { Dispatcher.BeginInvoke(delegate() { var source = new BitmapImage(); using (var isoStore = IsolatedStorageFile.GetUserStoreForApplication()) { using (var fileStream = isoStore.OpenFile(currentPhoto + ".jpg", FileMode.Open, FileAccess.Read)) { source.SetSource(fileStream); } } this.bitmap = new WriteableBitmap(source); var sdkImg = ImageConverter.SystemToSdk(this.bitmap); var result = this.FaceSdkHelper.Detect(sdkImg); if (SdkHelper.foundFace == true) { foreach (var shape in SdkHelper.results) { var defaultFaceCalculations = Calculus.ReadDefaultFaceCalculations(); var array = FaceCalculationsHelpers.FromFaceCalculationsToVector(defaultFaceCalculations); var calculatedFaceCalculations = Calculus.GetFaceCalculationsFromShape(shape); var resultArray = FaceCalculationsHelpers.FromFaceCalculationsToVector(calculatedFaceCalculations); Conditions c = new Conditions(); var resultFromCalculus = c.GetLevelVerifierFunction(selectedPhotos[currentPhoto]).Invoke(array, resultArray); if (resultFromCalculus != 0) { using (var db = new GrimacizerContext(GrimacizerContext.ConnectionString)) { db.Settings.FirstOrDefault()._17_SurvivalScore += resultFromCalculus; db.SubmitChanges(); } MessageBox.Show("Picture number " + currentPhoto + " correct! You won " + resultFromCalculus + " points!"); } else { MessageBox.Show("Picture number " + currentPhoto + " did not match!"); } } } else { MessageBox.Show("Picture number " + currentPhoto + "! Camera did not detect your face!"); } }); } catch (Exception ex) { MessageBox.Show("Something bad appeared! Going back.."); NavigationService.Navigate(new Uri(Pages.MainPage, UriKind.RelativeOrAbsolute)); } finally { GC.Collect(); } }
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(); }); }
public static void LoseLife() { using (var db = new GrimacizerContext(GrimacizerContext.ConnectionString)) { var settings = db.Settings.FirstOrDefault(); settings.LastMomentOfDeath = DateTime.Now; settings._20_NumberLivesLeft = Math.Max(0, settings._20_NumberLivesLeft - 1); // TODO: uncomment this //db.SubmitChanges(); } }
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 ResetProfile_Click(object sender, EventArgs e) { var result = MessageBox.Show("Are you sure you want to reset your profile?", "Confirm", MessageBoxButton.OKCancel); switch (result) { case MessageBoxResult.OK: using (var isoStore = IsolatedStorageFile.GetUserStoreForApplication()) { isoStore.DeleteFile(Constants.DEFAULT_SETTINGS_FILE); isoStore.DeleteFile(Constants.DEFAULT_FACE_PHOTO); isoStore.DeleteFile(Constants.DEFAULT_CARTOON_PHOTO); using (var db = new GrimacizerContext(GrimacizerContext.ConnectionString)) { db.Settings.FirstOrDefault().Initialized = false; db.SubmitChanges(); } } NavigationService.Navigate(new Uri(Pages.CreateProfile_CreateProfile, UriKind.RelativeOrAbsolute)); break; } }
private void Next_Click(object sender, EventArgs e) { Calculus.WriteDefaultFaceCalculation(SdkHelper.results.FirstOrDefault()); using (var db = new GrimacizerContext(GrimacizerContext.ConnectionString)) { var settings = db.Settings.FirstOrDefault(); settings._16_PassedLevels = Constants.DefaultAvailableLevels; settings._17_SurvivalScore = 0; settings._18_MultiplayerWinScore = 0; settings._19_MultiplayerLoseScore = 0; settings._20_NumberLivesLeft = Constants.MaxLives; settings.LastMomentOfDeath = DateTime.Now; foreach (var level in db.Levels) { level.Stars = 0; } db.SubmitChanges(); } NavigationService.Navigate(new Uri(Pages.CreateProfile_CartoonCreator, UriKind.RelativeOrAbsolute)); }
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); }
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)); }