private void Window_Loaded(object sender, RoutedEventArgs e) { bmp = new Bgra32BitmapTool(100, 100, 10); bmp.PropertyChanged += Bmp_PropertyChanged; bmp.SaveCheckpoint(); this.CurrentBackColor = Colors.White; this.CurrentForeColor = Colors.Black; this.CurrentTool = ToolType.Freehand_DrawLine; }
private void MenuItem_EasterEgg_Click(object sender, RoutedEventArgs e) { if (EasterEgg_Timer != null) { EasterEgg_Timer.Stop(); EasterEgg_Timer = null; EasterEgg_Counter = 0; EasterEgg_isGrowing = true; return; } bmp = new Bgra32BitmapTool( width: 113, height: 213, xResolution: 96.0, yResolution: 96.0); bmp.PropertyChanged += Bmp_PropertyChanged; bmp.Ellipse_BresenhamRect(10, 10, 100, 100, Colors.Orange); bmp.Circle_Bresenham(40, 40, 5, Colors.Orange); bmp.Fill_FF4_Dynamic(40, 40, Colors.LightGray); bmp.Circle_Bresenham(70, 40, 5, Colors.Orange); bmp.Fill_FF4_Dynamic(70, 40, Colors.LightGray); bmp.QuadraticBezier(30, 75, 55, 95, 80, 75, Colors.Orange); bmp.Rectangle_Empty(1, 100, 111, 210, Colors.Blue); bmp.Rectangle_Empty(16, 115, 96, 195, Colors.Blue); bmp.Fill_FF4_Dynamic(2, 101, Colors.SteelBlue); bmp.Apply(); bmp.SaveCheckpoint(); EasterEgg_Timer = new Timer(2 * 1000); EasterEgg_Timer.Elapsed += (_sender, _e) => { if (EasterEgg_isGrowing) { if (EasterEgg_Counter < EasterEgg_MaxGrow) { EasterEgg_Counter++; } else { EasterEgg_isGrowing = false; EasterEgg_Counter--; } } else if (EasterEgg_Counter > 0) { EasterEgg_Counter--; } else { EasterEgg_isGrowing = true; EasterEgg_Counter++; } this.Dispatcher.Invoke(delegate { bmp.Rotate_90C(); if (EasterEgg_isGrowing) { bmp.Scale(bmp.Width * 2, bmp.Height * 2, bmp.XResolution, bmp.YResolution); } else { bmp.Scale(bmp.Width / 2, bmp.Height / 2, bmp.XResolution, bmp.YResolution); } bmp.Apply(); bmp.SaveCheckpoint(); }); }; EasterEgg_Timer.Start(); }