Beispiel #1
0
        protected override void InnerDraw(GraphicsDisplay display, GeoStar.Core.TrackCancel cancel)
        {
            if (m_TileList.Count == 0)
            {
                return;
            }

            List <QuadTile> vList = new List <QuadTile>();

            lock (this)
            {
                vList.AddRange(m_TileList);
            }
            System.Windows.Media.DrawingContext dc = display.DrawingContext;
            foreach (var item in vList)
            {
                Box box = m_Pyramid.TileExtent(item.Level, item.Row, item.Col);
                System.Windows.Rect rect = display.DT.FromMapWPF(box);

                dc.DrawRectangle(null,
                                 new System.Windows.Media.Pen(System.Windows.Media.Brushes.Red, 1), rect);

                System.Windows.Media.FormattedText formattedText = new System.Windows.Media.FormattedText(
                    string.Format(" {0},{1},{2}", item.Level, item.Row, item.Col),
                    System.Globalization.CultureInfo.CurrentCulture,
                    System.Windows.FlowDirection.LeftToRight,
                    new  System.Windows.Media.Typeface("微软雅黑"),
                    12,
                    System.Windows.Media.Brushes.Black);


                dc.DrawText(formattedText, rect.Location);
            }
        }
    protected override void OnRender(System.Windows.Media.DrawingContext drawingContext)
    {
        base.OnRender(drawingContext);
        var                root               = Window.GetWindow(this);
        var                adornerLayer       = AdornerLayer.GetAdornerLayer(AdornedElement);
        var                presentationSource = PresentationSource.FromVisual(adornerLayer);
        Matrix             transformToDevice  = presentationSource.CompositionTarget.TransformToDevice;
        var                sizeInPixels       = transformToDevice.Transform((Vector)adornerLayer.RenderSize);
        RenderTargetBitmap rtb           = new RenderTargetBitmap((int)(sizeInPixels.X), (int)(sizeInPixels.Y), 96, 96, PixelFormats.Default);
        var                oldEffect     = root.Effect;
        var                oldVisibility = AdornedElement.Visibility;

        root.Effect = new BlurEffect();
        AdornedElement.SetCurrentValue(FrameworkElement.VisibilityProperty, Visibility.Hidden);
        rtb.Render(root);
        AdornedElement.SetCurrentValue(FrameworkElement.VisibilityProperty, oldVisibility);
        root.Effect = oldEffect;
        drawingContext.DrawImage(rtb, adornerLayer.TransformToVisual(AdornedElement).TransformBounds(new Rect(adornerLayer.RenderSize)));
        drawingContext.DrawRectangle(new SolidColorBrush(Color.FromArgb(22, 0, 0, 0)), null, adornerLayer.TransformToVisual(AdornedElement).TransformBounds(new Rect(adornerLayer.RenderSize)));
        drawingContext.DrawRectangle(new VisualBrush(AdornedElement)
        {
            AlignmentX = AlignmentX.Left, TileMode = TileMode.None, Stretch = Stretch.None
        },
                                     null,
                                     AdornedElement.RenderTransform.TransformBounds(new Rect(AdornedElement.RenderSize)));
    }
Beispiel #3
0
 public void DrawSquare(System.Windows.Media.DrawingContext dc)
 {
     if (piece != null)
     {
         piece.DrawPiece(dc, x, y);
     }
 }
Beispiel #4
0
        public void HighLight(System.Windows.Media.DrawingContext dc)
        {
            System.Windows.Media.SolidColorBrush brush = new System.Windows.Media.SolidColorBrush(System.Windows.Media.Colors.Gray);
            System.Windows.Media.Pen             pen   = new System.Windows.Media.Pen(brush, 1);

            dc.DrawEllipse(brush, pen, new System.Windows.Point(x * 50 + 25, y * 50 + 25), 20, 20);
        }
Beispiel #5
0
 public override void Draw(System.Windows.Media.DrawingContext ctx)
 {
     foreach (var it in drawers)
     {
         it.Draw(ctx);
     }
 }
Beispiel #6
0
        public static Byte[] BitmapImage2Byte(BitmapImage imageSource)
        {
            try
            {
                //resize ve 32x32
                Rect rect = new Rect(0, 0, 32, 32);
                // Create a DrawingVisual/Context to render with
                System.Windows.Media.DrawingVisual drawingVisual = new System.Windows.Media.DrawingVisual();
                using (System.Windows.Media.DrawingContext drawingContext = drawingVisual.RenderOpen())
                {
                    drawingContext.DrawImage(imageSource, rect);
                }

                RenderTargetBitmap resizedImage = new RenderTargetBitmap(32, 32, 96, 96, System.Windows.Media.PixelFormats.Default);
                resizedImage.Render(drawingVisual);
                //
                MemoryStream     memStream = new MemoryStream();
                PngBitmapEncoder encoder   = new PngBitmapEncoder();
                encoder.Frames.Add(BitmapFrame.Create(resizedImage));
                encoder.Save(memStream);
                return(memStream.GetBuffer());
            }
            catch
            {
                return(new Byte[0]);
            }
        }
Beispiel #7
0
        protected override void OnRender(System.Windows.Media.DrawingContext dc)
        {
            if (ActualWidth <= 0 || ActualHeight <= 0 || Actors == null || Actors.Count() < 1)
            {
                return;
            }

            using (var bitmap = new Bitmap((int)ActualWidth, (int)ActualHeight))
            {
                using (var g = Graphics.FromImage(bitmap))
                {
                    PrepareFrame(g);

                    if (IsGridVisible)
                    {
                        DrawGrid(g);
                        DrawPoints(g);
                    }
                }

                // Copy GDI bitmap to WPF bitmap
                var hBitmap = bitmap.GetHbitmap();
                var image   = Imaging.CreateBitmapSourceFromHBitmap(hBitmap, IntPtr.Zero, Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions());
                image.Freeze();
                dc.DrawImage(image, new Rect(RenderSize));

                DeleteObject(hBitmap);
            }
        }
Beispiel #8
0
        public override void MouseMove(DrawingContext dc, Point endPoint)
        {
            line.EndPoint = endPoint;
            line.Draw(dc);

            MainWindow.Shapes.Add(line.Clone());
            line.StartPoint = endPoint;
        }
Beispiel #9
0
 protected override void OnRender(System.Windows.Media.DrawingContext dc)
 {
     base.OnRender(dc);
     if (!Grid.GetIsSharedSizeScope(this))
     {
         Grid.SetIsSharedSizeScope(this, true);
     }
 }
Beispiel #10
0
 protected override void OnRender(System.Windows.Media.DrawingContext dc)
 {
     base.OnRender(dc);
     //int row = 0, column = 0;
     if (TransitionGraph != null)
     {
     }
 }
    protected override void OnRender(System.Windows.Media.DrawingContext drawingContext)
    {
        Console.WriteLine("OnRender");
        //base.OnRender(drawingContext);
        Rect  bounds = new Rect(0, 0, 100, 100);
        Brush brush  = new SolidColorBrush(Colors.Yellow);

        drawingContext.DrawRectangle(brush, null, bounds);
    }
Beispiel #12
0
        /// <summary>
        /// Always select text content when ever this is (re-)rendered
        /// </summary>
        /// <param name="drawingContext"></param>
        protected override void OnRender(System.Windows.Media.DrawingContext drawingContext)
        {
            base.OnRender(drawingContext);

            if (this.mTxtLineNumber != null)
            {
                this.mTxtLineNumber.SelectAll();
            }
        }
Beispiel #13
0
        protected override void OnRender(System.Windows.Media.DrawingContext drawingContext)
        {
            base.OnRender(drawingContext);

            if (image != null && image.IsFrontBufferAvailable)
            {
                drawingContext.DrawImage(image, new Rect(new Point(), RenderSize));
            }
        }
 protected override void OnRender(System.Windows.Media.DrawingContext dc)
 {
     base.OnRender(dc);
     for (int i = 0; i < rects.Count; i++)
     {
         MyRect mRect = rects[i];
         dc.DrawRectangle(mRect.Brush, null, mRect.Rect);
     }
 }
Beispiel #15
0
 protected override void OnRender(System.Windows.Media.DrawingContext dc)
 {
     base.OnRender(dc);
     CellViewBackend.Load(this);
     CellViewBackend.ApplicationContext.InvokeUserCode(delegate
     {
         DrawingContext ctx = new DrawingContext(dc, 1);
         ((ICanvasCellViewFrontend)CellViewBackend.CellView).Draw(ctx, new Rectangle(this.RenderTransform.Value.OffsetX, this.RenderTransform.Value.OffsetY, this.RenderSize.Width, this.RenderSize.Height));
     });
 }
Beispiel #16
0
        protected override void OnRender(System.Windows.Media.DrawingContext drawingContext)
        {
            if (Convert.ToString(Text).Trim().Length == 0 && IsFormatRequired)
            {
                Text = MaxScale == 0 ? TryParseInt("0") : TryParseDouble("0");
                UpdateBinding();
            }

            base.OnRender(drawingContext);
        }
Beispiel #17
0
        protected override void OnRender(System.Windows.Media.DrawingContext dc)
        {
            var render = RenderAction;

            if (render != null)
            {
                render(dc);
            }
            base.OnRender(dc);
        }
        protected override void OnRenderContent(System.Windows.Media.DrawingContext dc, Rect cellRect, System.Windows.Media.Geometry clipGeometry, DataColumnBase dataColumnBase, GridCell gridCell, object dataContext)
        {
            // Overridden to avoid the content to be drawn when unbound row cell has templates.
            if (dataColumnBase.GridUnBoundRowEventsArgs.hasCellTemplate || dataColumnBase.GridUnBoundRowEventsArgs.hasEditTemplate)
            {
                return;
            }

            base.OnRenderContent(dc, cellRect, clipGeometry, dataColumnBase, gridCell, dataContext);
        }
Beispiel #19
0
        protected override void OnRender(System.Windows.Media.DrawingContext drawingContext)
        {
            base.OnRender(drawingContext);
            Window w = Window.GetWindow(this);

            if (w != null)
            {
                w.StateChanged += new EventHandler(w_StateChanged);
            }
        }
Beispiel #20
0
        private ToolStripMenuItem SetFonts()
        {
            ToolStripMenuItem menuItem = new ToolStripMenuItem("Insert Font");

            List <string> fonts = new List <string>();

            foreach (System.Windows.Media.FontFamily font in System.Windows.Media.Fonts.SystemFontFamilies) //WPF fonts
            {
                fonts.Add(font.FamilyNames.Values.First());
            }
            fonts.Sort();

            foreach (string fontName in fonts)
            {
                Bitmap bmp = null;
                try
                {
                    int size = 20;
                    //bmp = new Bitmap(4 * size, 5 * size / 4);
                    //Graphics g = Graphics.FromImage(bmp);
                    //g.SmoothingMode = SmoothingMode.HighQuality;
                    //g.InterpolationMode = InterpolationMode.HighQualityBicubic;
                    //g.PixelOffsetMode = PixelOffsetMode.HighQuality;
                    //g.DrawString("Basic", new Font(new FontFamily(fontName), size, FontStyle.Regular, GraphicsUnit.Pixel), Brushes.Black, 1, 1);

                    System.Windows.Media.DrawingVisual dv = new System.Windows.Media.DrawingVisual();
                    using (System.Windows.Media.DrawingContext dc = dv.RenderOpen())
                    {
                        dc.DrawRectangle(System.Windows.Media.Brushes.White, null, new System.Windows.Rect(0, 0, 4 * size, 5 * size / 4));
                        dc.DrawText(new System.Windows.Media.FormattedText("Basic", System.Globalization.CultureInfo.InvariantCulture,
                                                                           System.Windows.FlowDirection.LeftToRight, new System.Windows.Media.Typeface(fontName), size,
                                                                           System.Windows.Media.Brushes.Black), new System.Windows.Point(1, 1));
                    }
                    System.Windows.Media.Imaging.RenderTargetBitmap rtb = new System.Windows.Media.Imaging.RenderTargetBitmap(4 * size, 5 * size / 4, 96, 96, System.Windows.Media.PixelFormats.Pbgra32);
                    rtb.Render(dv);
                    rtb.Freeze();
                    MemoryStream stream = new MemoryStream();
                    System.Windows.Media.Imaging.BitmapEncoder encoder = new System.Windows.Media.Imaging.BmpBitmapEncoder();
                    encoder.Frames.Add(System.Windows.Media.Imaging.BitmapFrame.Create(rtb));
                    encoder.Save(stream);
                    bmp = new Bitmap(stream);
                }
                catch
                {
                }

                ToolStripMenuItem item = new ToolStripMenuItem(fontName, bmp, Insert);
                item.ImageScaling = ToolStripItemImageScaling.None;

                menuItem.DropDownItems.Add(item);
            }

            return(menuItem);
        }
        protected override void OnRender(System.Windows.Media.DrawingContext drawingContext)
        {
            base.OnRender(drawingContext);
            var text = new FormattedText(
                this.text,
                System.Globalization.CultureInfo.CurrentCulture,
                System.Windows.FlowDirection.LeftToRight,
                new System.Windows.Media.Typeface(fontFamily),
                fontSize,
                foreground);

            drawingContext.DrawText(text, new Point(3, 3));
        }
Beispiel #22
0
 protected override void OnRender(System.Windows.Media.DrawingContext drawingContext)
 {
     base.OnRender(drawingContext);
     //if we're doing horizontal labels, then set all the labels to the same consistent max width thus making all the label+field pairs line up nice vertically
     if (LabelOrientation == Orientation.Horizontal)
     {
         var maxLableActualWidth = (from StackPanel lbl in _labels select lbl.ActualWidth).Concat(new double[] { 0 }).Max();
         foreach (StackPanel lbl in _labels)
         {
             lbl.Width = maxLableActualWidth;
         }
     }
 }
 protected override void OnRender(System.Windows.Media.DrawingContext dc)
 {
     if (ShowColumnSeparator)
     {
         // Draw vertical lines as column separators.
         for (int i = 0; i < _numberOfColumns - 1; i++)
         {
             double x = (i * HorizontalColumnPadding * 2) + (i + 1) * _columnWidth + HorizontalColumnPadding;
             dc.DrawLine(ColumnSeparatorPen, new Point(x, 0), new Point(x, ActualHeight));
         }
     }
     base.OnRender(dc);
 }
        protected override void OnRender(System.Windows.Media.DrawingContext drawingContext)
        {
            base.OnRender(drawingContext);
            if (isInitialized == false)
            {
                if (this.ParentWindow != null)
                {
                    this.ParentWindow.OKButtonSelected     += new EventHandler(ParentWindow_OKButtonSelected);
                    this.ParentWindow.CancelButtonSelected += new EventHandler(ParentWindow_CancelButtonSelected);
                }

                OnLoad();
                isInitialized = true;
            }
        }
        protected override void OnRender(System.Windows.Media.DrawingContext drawingContext)
        {
            base.OnRender(drawingContext);
            Matrix m = PresentationSource.FromVisual(Application.Current.MainWindow).CompositionTarget.TransformToDevice;

            var text = new FormattedText(
                this.text,
                System.Globalization.CultureInfo.CurrentCulture,
                System.Windows.FlowDirection.LeftToRight,
                new Typeface(fontFamily),
                fontSize,
                foreground, m.M11);

            drawingContext.DrawText(text, new System.Windows.Point(3, 3));
        }
Beispiel #26
0
        public override void MouseMove(DrawingContext dc, Point endPoint)
        {
            int   x          = (int)Cursor.X;
            int   y          = (int)Cursor.Y;
            Point StartPoint = new Point(x - 100, y - 50);
            Point EndPoint   = new Point(x + 100, y + 50);

            rectangle.StartPoint = StartPoint;
            rectangle.EndPoint   = EndPoint;

            rectangle.Thickness = Configurator.Thickness;
            rectangle.Outline   = Configurator.Outline;

            rectangle.Draw(dc);
        }
Beispiel #27
0
        protected override void OnRender(System.Windows.Media.DrawingContext drawingContext)
        {
            var component = _component;

            if (component == null)
            {
                return;
            }

            var renderTargetImage = component.RenderTargetImage;

            if (renderTargetImage != null && renderTargetImage.IsFrontBufferAvailable)
            {
                drawingContext.DrawImage(renderTargetImage, new Rect(RenderSize));
            }
        }
Beispiel #28
0
        private void printimage(System.Windows.Media.ImageSource bi)
        {
            var vis = new System.Windows.Media.DrawingVisual();

            System.Windows.Media.DrawingContext dc = vis.RenderOpen();
            dc.DrawImage(bi, new System.Windows.Rect {
                Width = bi.Width, Height = bi.Height
            });
            dc.Close();

            var pdialog = new System.Windows.Controls.PrintDialog();
            //  if (pdialog.ShowDialog() == true)
            {
                pdialog.PrintVisual(vis, "My Image");
            }
        }
Beispiel #29
0
        protected override void OnRender(System.Windows.Media.DrawingContext dc)
        {
            var halfHeight = ActualHeight / 2;
            var halfWidth  = ActualWidth / 2;

            var shift = _elms[0].Width / 2;

            Canvas.SetTop(_elms[0], halfHeight - DistanceFromCenter - shift);
            Canvas.SetTop(_elms[1], halfHeight - shift);
            Canvas.SetTop(_elms[2], halfHeight - shift);
            Canvas.SetTop(_elms[3], halfHeight + DistanceFromCenter - shift);

            Canvas.SetLeft(_elms[0], halfWidth - shift);
            Canvas.SetLeft(_elms[1], halfWidth - DistanceFromCenter - shift);
            Canvas.SetLeft(_elms[2], halfWidth + DistanceFromCenter - shift);
            Canvas.SetLeft(_elms[3], halfWidth - shift);
        }
Beispiel #30
0
        protected override void OnRender(System.Windows.Media.DrawingContext drawingContext)
        {
            base.OnRender(drawingContext);

            var searchStationViewModel = this.DataContext as ISearchStationViewModel;

            if (searchStationViewModel != null)
            {
                searchStationViewModel.PropertyChanged += (sender, args) =>
                {
                    if (args.PropertyName == "StationPosition" && searchStationViewModel.StationPosition != null)
                    {
                        this.map.SetView(searchStationViewModel.StationPosition, this.map.ZoomLevel);
                    }
                };
            }
        }