private void DrowDividingLine() { Point[] points = new Point[] { new Point { X = 440, Y = 0 }, new Point { X = 440, Y = 423 } }; Pen pen = new Pen(Brushes.Black, 1); Graphics MyPaint = SelectedTab.CreateGraphics(); MyPaint.DrawLines(pen, points); }
public void ProcessGuidance(GuidanceGroup guidanceGroup, List <GuidancePattern> guidancePatterns) { using (var graphics = _spatialViewer.CreateGraphics()) { _drawingUtil = new DrawingUtil(_spatialViewer.Width, _spatialViewer.Height, graphics); SetMinMax(guidancePatterns, guidanceGroup.GuidancePatternIds); foreach (var id in guidanceGroup.GuidancePatternIds) { ProcessGuidancePattern(guidancePatterns, id); } } }
private void DrowFrame(int BtnX) { Graphics MyFormPaint = CageTPage.CreateGraphics(); Point[] points = new Point[] { new Point { X = BtnX - 10, Y = 60 }, new Point { X = BtnX + 70, Y = 60 }, new Point { X = BtnX + 70, Y = 180 }, new Point { X = BtnX - 10, Y = 180 }, new Point { X = BtnX - 10, Y = 60 } }; Pen pen = new Pen(Brushes.Black, 3); MyFormPaint.DrawLines(pen, points); }
public void dibujateRP(Graphics g, Bitmap bmp, TabPage tp, int tipo_arco, int tipo_grafo) { Graphics dbm = tp.CreateGraphics(); dbm.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality; Pen p = new Pen(Color.CornflowerBlue, 4); if (tipo_grafo == DIRIGIDA) { p.EndCap = System.Drawing.Drawing2D.LineCap.ArrowAnchor; } p.Brush = Brushes.White; g.DrawLine(p, po, pd); p.DashStyle = System.Drawing.Drawing2D.DashStyle.Dash; switch (tipo_arco) { case 1: //retroceso p.Brush = Brushes.Red; break; case 2: //avance p.Brush = Brushes.DodgerBlue; break; case 3: //cruzado p.Brush = Brushes.GreenYellow; break; } g.DrawLine(p, po, pd); dbm.DrawImage(bmp, 0, 0); }
public void ProcessPrescription(Prescription prescription) { if (prescription is VectorPrescription) //Only Vector currently supported for the Visualizer map { VectorPrescription vectorPrescription = prescription as VectorPrescription; using (var graphics = _spatialViewer.CreateGraphics()) { _drawingUtil = new DrawingUtil(_spatialViewer.Width, _spatialViewer.Height, graphics); List <Point> allPoints = new List <Point>(); List <List <Point> > projectedPointsPerPolygon = new List <List <Point> >(); foreach (Polygon polygon in vectorPrescription.RxShapeLookups.SelectMany(x => x.Shape.Polygons)) { List <Point> polygonPoints = new List <Point>(); foreach (Point point in polygon.ExteriorRing.Points) { Point projectedPoint = point.ToUtm(); allPoints.Add(projectedPoint); polygonPoints.Add(projectedPoint); } projectedPointsPerPolygon.Add(polygonPoints); } _drawingUtil.SetMinMax(allPoints); foreach (List <Point> polygonPoints in projectedPointsPerPolygon) { var screenPolygon = polygonPoints.Select(point => point.ToXy(_drawingUtil.MinX, _drawingUtil.MinY, _drawingUtil.GetDelta())).ToArray(); graphics.DrawPolygon(DrawingUtil.B_Black, screenPolygon); } } } }
void refresh_gfx(TabPage tab) { setup_sizes(); setup_canvas_scale(); grafx = context.Allocate(CreateGraphics(), DRAW_background); tabgrfx = tab.CreateGraphics(); }
public void borrate(Graphics g, Bitmap bmp, TabPage tp) { Graphics dbm = tp.CreateGraphics(); dbm.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality; Pen borrador = new Pen(Color.White, ANCHO_LINEA + 2); g.FillEllipse(borrador.Brush, centro.X - radio, centro.Y - radio, radio * 2, radio * 2); g.DrawEllipse(borrador, centro.X - radio, centro.Y - radio, radio * 2, radio * 2); dbm.DrawImage(bmp, 0, 0); }
public void dibujateAACM(Graphics g, Bitmap bmp, TabPage tp) { Graphics dbm = tp.CreateGraphics(); dbm.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality; Pen p = new Pen(Color.CornflowerBlue, 4); p.Brush = Brushes.White; g.DrawLine(p, po, pd); p.Brush = Brushes.Orange; g.DrawLine(p, po, pd); dbm.DrawImage(bmp, 0, 0); }
//Dibujado public void dibujate(Graphics g, Bitmap bmp, TabPage tp) { Graphics dbm = tp.CreateGraphics(); dbm.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality; Pen p = new Pen(Color.CornflowerBlue, 4); if (this.tipo == DIRIGIDA) { p.EndCap = System.Drawing.Drawing2D.LineCap.ArrowAnchor; } g.DrawLine(p, po, pd); dbm.DrawImage(bmp, 0, 0); }
public void ProcessBoundary(FieldBoundary fieldBoundary) { using (var graphics = _spatialViewer.CreateGraphics()) { _drawingUtil = new DrawingUtil(_spatialViewer.Width, _spatialViewer.Height, graphics); foreach (var polygon in fieldBoundary.SpatialData.Polygons) { var projectedPoints = polygon.ExteriorRing.Points.Select(point => point.ToUtm()).ToList(); _drawingUtil.SetMinMax(projectedPoints); var screenPolygon = projectedPoints.Select(point => point.ToXy(_drawingUtil.MinX, _drawingUtil.MinY, _drawingUtil.GetDelta())).ToArray(); graphics.DrawPolygon(DrawingUtil.B_Black, screenPolygon); } } }
//spusti vykreslovanie mraveniska public static void VykresliMraveniskoUvod(Mravenisko mravenisko, TabPage tabPage) { Graphics graphics; graphics = tabPage.CreateGraphics(); if (mravenisko.ZistiFazaMraveniska() == FazaMraveniska.poNastaveniSmerOtocenia) { ZistiStarePozicieMravcov(mravenisko); } if (mravenisko.ZistiFazaMraveniska() == FazaMraveniska.poBojiPrechadzani) { ZistiNovePozicieMravcov(mravenisko); OverenieKorektnostiZakladneZobrazenie(mravenisko.ZistiRozmerMraveniska()); } VykresliMravenisko(mravenisko, graphics, tabPage); }
public void dibujate(Graphics g, Bitmap bmp, TabPage tp) { Graphics dbm = tp.CreateGraphics(); g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality; dbm.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality; Pen pc = new Pen(Color.FromArgb(contorno), ANCHO_LINEA); Pen pr = new Pen(Color.FromArgb(relleno), ANCHO_LINEA); int dis = 4; if (id / 10 > 0) { dis = 8; } g.FillEllipse(pr.Brush, centro.X - radio, centro.Y - radio, radio * 2, radio * 2); g.DrawEllipse(pc, centro.X - radio, centro.Y - radio, radio * 2, radio * 2); g.DrawString(id.ToString(), new Font(FontFamily.GenericSansSerif, 10), pc.Brush, centro.X - dis, centro.Y - 7); dbm.Clear(Color.White); dbm.DrawImage(bmp, 0, 0); }
/// <summary> /// Draws a Red polygon if all values 0, a DarkMagenta polygon if all values the same non-zero value, or else themes Red/DarkOrange/Gold/YellowGreen/LawnGreen/LimeGreen/ForestGreen/DarkGreen. /// </summary> /// <param name="operation"></param> /// <param name="workingDataKey"></param> public void ThemeMap(string workingDataKey) { using (var graphics = _spatialViewer.CreateGraphics()) { graphics.Clear(System.Drawing.Color.White); _drawingUtil = new DrawingUtil(_spatialViewer.Width, _spatialViewer.Height, graphics); List <Point> projectedPoints = new List <Point>(); List <double> doubleValues = null; foreach (SpatialRecord record in _spatialRecords) { Point point = record.Geometry as Point; projectedPoints.Add(point.ToUtm()); if (_workingDataDictionary.ContainsKey(workingDataKey)) { WorkingData workingData = _workingDataDictionary[workingDataKey]; RepresentationValue repValue = record.GetMeterValue(workingData); if (repValue is NumericRepresentationValue) { NumericRepresentationValue numericValue = repValue as NumericRepresentationValue; if (doubleValues == null) { doubleValues = new List <double>(); } doubleValues.Add(numericValue.Value.Value); } else if (repValue is EnumeratedValue) { EnumeratedValue enumValue = repValue as EnumeratedValue; if (enumValue.Representation.Code == "dtRecordingStatus") { if (doubleValues == null) { doubleValues = new List <double>(); } doubleValues.Add(enumValue.Value.Value == "On" ? 1d : -1d); } } } } if (!projectedPoints.Any()) { return; } _drawingUtil.SetMinMax(projectedPoints); var screenPolygon = projectedPoints.Select(point => point.ToXy(_drawingUtil.MinX, _drawingUtil.MinY, _drawingUtil.GetDelta())).ToArray(); if (screenPolygon.All(p => !double.IsNaN(p.X) && !double.IsNaN(p.Y))) { if (doubleValues == null) { //WorkingData is not numeric graphics.DrawPolygon(DrawingUtil.B_Black, screenPolygon); } else { if (doubleValues.Max() == doubleValues.Min()) { //All values are the same if (doubleValues.Max() <= 0d) { //Zero values graphics.DrawPolygon(DrawingUtil.E_Red, screenPolygon); } else { //Non-zero values graphics.DrawPolygon(DrawingUtil.L_DarkGreen, screenPolygon); } } else { double max = doubleValues.Max(); double min = doubleValues.Min(); double average = doubleValues.Average(); List <double> removedZeroValues = doubleValues.Where(dv => dv != 0).ToList(); double avarageWithoutZeroes = removedZeroValues.Average(); if (average != avarageWithoutZeroes) { min = removedZeroValues.Min(); } int i = 0; double range = (max - min) / 7.0; double e7th = min; double f7th = e7th + range; double g7th = f7th + range; double h7th = g7th + range; double i7th = h7th + range; double j7th = i7th + range; double k7th = j7th + range; double l7th = max; foreach (System.Drawing.PointF f in screenPolygon) { double dbl = i < doubleValues.Count ? doubleValues[i] : 0d; //Values will be in same order as points System.Drawing.Pen pen = DrawingUtil.B_Black; if (dbl <= e7th) { pen = DrawingUtil.E_Red; } else if (dbl <= f7th) { pen = DrawingUtil.F_DarkOrange; } else if (dbl <= g7th) { pen = DrawingUtil.G_Gold; } else if (dbl <= h7th) { pen = DrawingUtil.H_YellowGreen; } else if (dbl <= i7th) { pen = DrawingUtil.I_LawnGreen; } else if (dbl <= j7th) { pen = DrawingUtil.J_LimeGreen; } else if (dbl <= k7th) { pen = DrawingUtil.K_ForestGreen; } else if (dbl <= l7th) { pen = DrawingUtil.L_DarkGreen; } graphics.DrawEllipse(pen, new System.Drawing.RectangleF(f.X, f.Y, 2, 2)); i++; } } } } } }
private void DibujarEnLienzo(List <Barra> listadoBarras) { TabPage tabgraficos = ventana.getTabPage(); //crear lienzo de dibjo Graphics g = tabgraficos.CreateGraphics(); int iAnchoGrafico = getTamanoLienzo().ancho; int iAltoGrafico = getTamanoLienzo().alto; Pen lapiz = new Pen(Color.Black, 1); Point puntoOrigenLineaBase = new Point(100, 400); Point puntoFinLineaBase = new Point(600, 400); g.DrawLine(lapiz, puntoOrigenLineaBase, puntoFinLineaBase); Pen lapizEnBlanco = new Pen(Color.Transparent, 3); int iCantidadBarras = listadoBarras.Count; int iAvanceX = 100; int iAvanceY = 100; int iCantidadBarrasDibujo = (iCantidadBarras * 2) + 1; int iAnchoBarrasDibujo = iAnchoGrafico / iCantidadBarrasDibujo; int iAltoBarraDibujo = -1; Point puntoOrigenEnBlanco; Size tamanoEnBlanco; Rectangle rectBlanco; decimal dValorAnterior = 0; decimal dValorActual = 0; Random r = new Random(); foreach (var item in listadoBarras) { //Barra en blanco puntoOrigenEnBlanco = new Point(iAvanceX, iAvanceY); tamanoEnBlanco = new Size(iAnchoBarrasDibujo, 300); rectBlanco = new Rectangle(puntoOrigenEnBlanco, tamanoEnBlanco); g.DrawRectangle(lapizEnBlanco, rectBlanco); iAvanceX += iAnchoBarrasDibujo; //Barra Real //La primera barra real la pinta al 100% if (iAltoBarraDibujo == -1) { iAltoBarraDibujo = 300; dValorActual = item.Valor; } else //A las siguientes barras se les calcula el alto { dValorAnterior = dValorActual; dValorActual = item.Valor; //Punto Origen Y de barra iAvanceY = 400 - (Convert.ToInt32((dValorActual * 300) / dValorAnterior)); //Longitud de Barra iAltoBarraDibujo = 400 - iAvanceY; } Point puntoOrigenBarra = new Point(iAvanceX, iAvanceY); Size tamanoBarra = new Size(iAnchoBarrasDibujo, iAltoBarraDibujo); Rectangle rectReal = new Rectangle(puntoOrigenBarra, tamanoBarra); //g.DrawRectangle(lapiz, rectReal); //Relleno con un color aleatorio SolidBrush myBrush = new SolidBrush(Color.FromArgb(r.Next(0, 256), r.Next(0, 256), r.Next(0, 256))); g.FillRectangle(myBrush, rectReal); g.DrawString(item.Leyenda + " (" + item.Valor + ")", new Font("Arial", 8, FontStyle.Bold, GraphicsUnit.Point), Brushes.Black, rectReal); iAvanceX += iAnchoBarrasDibujo; } if (iCantidadBarras > 0) { //Barra Final puntoOrigenEnBlanco = new Point(iAvanceX, iAvanceY); tamanoEnBlanco = new Size(iAnchoBarrasDibujo, 300); rectBlanco = new Rectangle(puntoOrigenEnBlanco, tamanoEnBlanco); g.DrawRectangle(lapizEnBlanco, rectBlanco); } else { //Limpiar Lienzo g.Clear(Color.White); } }
//odstrani vykreslenie mraveniska public static void VykresliOknoBezSimulacie(TabPage tabPage) { Graphics graphics = tabPage.CreateGraphics(); graphics.Clear(Color.White); }
public void Setup() { _tabPage = new TabPage(); _graphics = _tabPage.CreateGraphics(); _drawingUtil = new DrawingUtil(1050, 1050, _graphics); }