public virtual void InitializeCard(Color?maskColor, Point defaultPosi, double defaultDegree, double defaultScale, int zidx) { this.backgroundColor = Colors.White; backgroundRect.Width = STATICS.DEAULT_CARD_SIZE.Width; backgroundRect.Height = STATICS.DEAULT_CARD_SIZE.Height; backgroundRect.StrokeThickness = 2; backgroundRect.Stroke = new SolidColorBrush(maskColor != null ? maskColor.Value : Colors.Black); backgroundRect.Fill = new SolidColorBrush(backgroundColor); Matrix mtx = new Matrix(); mtx.Translate(-backgroundRect.Width / 2, -backgroundRect.Height / 2); backgroundRect.RenderTransform = new MatrixTransform(mtx); ResetBrightness(); sortingGroupText.Foreground = new SolidColorBrush(Colors.Gray); sortingGroupText.FontSize = 14; sortingGroupText.FontFamily = new FontFamily("Quartz MS"); sortingGroupText.TextWrapping = TextWrapping.WrapWithOverflow; sortingGroupText.RenderTransform = new MatrixTransform(new Matrix(1, 0, 0, 1, -backgroundRect.Width / 2 + 7, -backgroundRect.Height / 2 - 14)); Matrix matrix = Matrix.Identity; matrix.Translate(-backgroundRect.Width / 2, -backgroundRect.Height / 2 + 5); matrix.Rotate(180); matrix.Translate(-5, 9); hightlightMask.Width = this.Width; hightlightMask.Height = this.Height; hightlightMask.Fill = Brushes.Transparent; this.hightlightMask.RenderTransform = new MatrixTransform(new Matrix(1, 0, 0, 1, -hightlightMask.Width / 2, -hightlightMask.Height / 2)); linkingIcon = new Linking_Icon(this); linkingIcon.RenderTransform = new MatrixTransform(new Matrix(1, 0, 0, 1, +backgroundRect.Width / 2 - linkingIcon.Width, -(backgroundRect.Height / 2))); linkingIcon.Opacity = 0; copyIcon = new Copy_Icon(this); copyIcon.RenderTransform = new MatrixTransform(new Matrix(1, 0, 0, 1, +backgroundRect.Width / 2 - copyIcon.Width, +(backgroundRect.Height / 2 - copyIcon.Height))); copyIcon.Opacity = 0; this.Container.Children.Add(hightlightMask); this.Container.Children.Add(backgroundRect); this.Container.Children.Add(sortingGroupText); defaultPostion = defaultPosi; defaultRotation = defaultDegree; positCard(defaultPostion); rotateCard(defaultRotation); scaleCard(defaultScale); this.zIndex = zidx; }
public void InitializeCard(String imgFile, String cardTxt, Color maskColor, Point defaultPosi, double defaultDegree, double defaultScale, int zidx) { SetCardImage(imgFile); this.backgroundColor = maskColor; background.Width = STATICS.DEAULT_CARD_SIZE.Width; background.Height = STATICS.DEAULT_CARD_SIZE.Height; background.Opacity = 1; background.StrokeThickness = 0; background.RenderTransform = new MatrixTransform(new Matrix(1, 0, 0, 1, -background.Width / 2, -background.Height / 2)); background.Opacity = 0.9; Rectangle shine = new Rectangle(); shine.Width = STATICS.DEAULT_CARD_SIZE.Width; shine.Height = STATICS.DEAULT_CARD_SIZE.Height; shine.Opacity = 0.3; ImageBrush ib = new ImageBrush(); ib.ImageSource = new BitmapImage(new Uri(@"Resource\Image\card_bg.png", UriKind.Relative)); shine.Fill = ib; shine.RenderTransform = new MatrixTransform(new Matrix(1, 0, 0, 1, -background.Width / 2, -background.Height / 2)); ResetBrightness(); this.cardText = cardTxt; topText.Text = this.cardText; bottomText.Text = this.cardText; topText.Foreground = new SolidColorBrush(Colors.White); topText.FontSize = 16; topText.Width = background.Width; topText.TextWrapping = TextWrapping.WrapWithOverflow; topText.RenderTransform = new MatrixTransform(new Matrix(1, 0, 0, 1, -background.Width / 2 + 7, -background.Height / 2 + 3)); sortingGroupText.Foreground = new SolidColorBrush(Colors.Black); sortingGroupText.FontSize = 14; sortingGroupText.FontFamily = new FontFamily("Quartz MS"); sortingGroupText.TextWrapping = TextWrapping.WrapWithOverflow; sortingGroupText.RenderTransform = new MatrixTransform(new Matrix(1, 0, 0, 1, -background.Width / 2 + 7, -background.Height / 2 - 14)); Matrix matrix = Matrix.Identity; matrix.Translate(-background.Width / 2, -background.Height / 2 + 5); matrix.Rotate(180); matrix.Translate(-5, 9); bottomText.RenderTransform = new MatrixTransform(matrix); bottomText.Foreground = new SolidColorBrush(Color.FromArgb(255, 255, 255, 255)); bottomText.FontSize = 16; bottomText.Width = background.Width; bottomText.TextWrapping = TextWrapping.WrapWithOverflow; hightlightMask.Width = this.Width; hightlightMask.Height = this.Height; hightlightMask.Fill = Brushes.Transparent; this.hightlightMask.RenderTransform = new MatrixTransform(new Matrix(1, 0, 0, 1, -background.Width / 2, -background.Height / 2)); linkingIcon = new Linking_Icon(this); linkingIcon.RenderTransform = new MatrixTransform(new Matrix(1, 0, 0, 1, -linkingIcon.Width / 2, -(background.Height - linkingIcon.Height / 2))); linkingIcon.Opacity = 0; copyIcon = new Copy_Icon(this); copyIcon.RenderTransform = new MatrixTransform(new Matrix(1, 0, 0, 1, -copyIcon.Width / 2, -copyIcon.Height / 2)); copyIcon.Opacity = 0; this.Container.Children.Add(hightlightMask); this.Container.Children.Add(background); this.Container.Children.Add(shine); this.Container.Children.Add(image); this.Container.Children.Add(topText); this.Container.Children.Add(bottomText); this.Container.Children.Add(sortingGroupText); defaultPostion = defaultPosi; defaultRotation = defaultDegree; positCard(defaultPostion); rotateCard(defaultRotation); scaleCard(defaultScale); this.zIndex = zidx; }
public virtual void InitializeCard(Color? maskColor, Point defaultPosi, double defaultDegree, double defaultScale, int zidx) { this.backgroundColor = Colors.White; backgroundRect.Width = STATICS.DEAULT_CARD_SIZE.Width; backgroundRect.Height = STATICS.DEAULT_CARD_SIZE.Height; backgroundRect.StrokeThickness = 2; backgroundRect.Stroke = new SolidColorBrush(maskColor != null ? maskColor.Value : Colors.Black); backgroundRect.Fill = new SolidColorBrush(backgroundColor); Matrix mtx = new Matrix(); mtx.Translate(-backgroundRect.Width / 2, -backgroundRect.Height / 2); backgroundRect.RenderTransform = new MatrixTransform(mtx); ResetBrightness(); sortingGroupText.Foreground = new SolidColorBrush(Colors.Gray); sortingGroupText.FontSize = 14; sortingGroupText.FontFamily = new FontFamily("Quartz MS"); sortingGroupText.TextWrapping = TextWrapping.WrapWithOverflow; sortingGroupText.RenderTransform = new MatrixTransform(new Matrix(1, 0, 0, 1, -backgroundRect.Width / 2 + 7, -backgroundRect.Height / 2 - 14)); Matrix matrix = Matrix.Identity; matrix.Translate(-backgroundRect.Width / 2, -backgroundRect.Height / 2 + 5); matrix.Rotate(180); matrix.Translate(-5, 9); hightlightMask.Width = this.Width; hightlightMask.Height = this.Height; hightlightMask.Fill = Brushes.Transparent; this.hightlightMask.RenderTransform = new MatrixTransform(new Matrix(1, 0, 0, 1, -hightlightMask.Width / 2, -hightlightMask.Height / 2)); linkingIcon = new Linking_Icon(this); linkingIcon.RenderTransform = new MatrixTransform(new Matrix(1, 0, 0, 1, +backgroundRect.Width/2- linkingIcon.Width, -(backgroundRect.Height/2))); linkingIcon.Opacity = 0; copyIcon = new Copy_Icon(this); copyIcon.RenderTransform = new MatrixTransform(new Matrix(1, 0, 0, 1, +backgroundRect.Width / 2 - copyIcon.Width, +(backgroundRect.Height / 2-copyIcon.Height))); copyIcon.Opacity = 0; this.Container.Children.Add(hightlightMask); this.Container.Children.Add(backgroundRect); this.Container.Children.Add(sortingGroupText); defaultPostion = defaultPosi; defaultRotation = defaultDegree; positCard(defaultPostion); rotateCard(defaultRotation); scaleCard(defaultScale); this.zIndex = zidx; }