private void InitDigits() { var converter = new ObjectSizeConverter(); var offset = converter.Convert(125); for (int i = 1; i <= 12; ++i) { TextBlock tb = new TextBlock(); tb.Text = i.ToString(); tb.TextAlignment = TextAlignment.Center; tb.RenderTransformOrigin = new Point(1, 1); tb.Foreground = new SolidColorBrush(Windows.UI.Colors.White); tb.FontSize = converter.Convert(8); tb.RenderTransform = new ScaleTransform { ScaleX = 2, ScaleY = 2 }; double r = converter.Convert(85); double angle = Math.PI * i * 30.0 / 180.0; double x = Math.Sin(angle) * r + offset, y = -Math.Cos(angle) * r + offset; Canvas.SetLeft(tb, x); Canvas.SetTop(tb, y); _markersCanvas.Children.Add(tb); } }
private void uiFlagImage_ImageOpened_1(object sender, RoutedEventArgs e) { var img = (sender as Image); var converter = new ObjectSizeConverter(); var canvas = (img.Parent as Canvas); var left = (canvas.ActualWidth / 2) - (img.ActualWidth / 2); Canvas.SetLeft(img, left); Canvas.SetTop(img, converter.Convert(60)); }
private void InitMarkers() { var converter = new ObjectSizeConverter(); var offset = converter.Convert(125); var offsetY = converter.Convert(107.5); for (int i = 0; i < 60; ++i) { Rectangle marker = new Rectangle(); if ((i % 5) == 0) { marker.Width = converter.Convert(1.5); marker.Height = converter.Convert(8); marker.Fill = new SolidColorBrush(Color.FromArgb(0xe0, 0xff, 0xff, 0xff)); marker.Stroke = new SolidColorBrush(Color.FromArgb(0x80, 0x33, 0x33, 0x33)); marker.StrokeThickness = 0.5; } else { marker.Width = converter.Convert(1); marker.Height = converter.Convert(3); marker.Fill = new SolidColorBrush(Color.FromArgb(0x80, 0xff, 0xff, 0xff)); marker.Stroke = null; marker.StrokeThickness = 0; } TransformGroup transforms = new TransformGroup(); transforms.Children.Add(new TranslateTransform { X = -(marker.Width / 2), Y = converter.Convert(92) }); transforms.Children.Add(new RotateTransform { Angle = i * 6 }); transforms.Children.Add(new TranslateTransform { X = offset, Y = offset }); marker.RenderTransform = transforms; _markersCanvas.Children.Add(marker); } }