/// <summary> /// The main entry point for the application. /// </summary> static void Main(string[] args) { using (Painter game = new Painter()) { game.Run(); } }
public void Painter_should_paint_tank_with_given_color() { var painter = new Painter(); var tank = new Tank("REG"); painter.Paint(tank, Color.DarkOliveGreen); Assert.AreEqual(Color.DarkOliveGreen, tank.Color); }
public void Painter_should_paint_car_with_given_color() { var painter = new Painter(); var car = new Car("REG", CarType.Sedan); painter.Paint(car, Color.HotPink); Assert.AreEqual(Color.HotPink, car.Color); }
public void Painter_should_paint_bus_with_given_color() { var painter = new Painter(); var bus = new Bus("REG"); painter.Paint(bus, Color.HotPink); Assert.AreEqual(Color.HotPink, bus.Color); }
protected override void OnPaint(PaintEventArgs e) { if (Services == null) return; GetStyleStack().PushStyle(StyleClass); var painter = new Painter(this, e.Graphics, styleStack); painter.Paint(); GetStyleStack().PopStyle(); }
void CreateWindow () { Video.WindowIcon (); Video.WindowCaption = "animation viewer"; Surface surf = Video.SetVideoModeWindow (320, 200); Mouse.ShowCursor = false; painter = new Painter (surf, 100); SpriteManager.AddToPainter (painter); }
public DemoForm() { InitializeComponent(); m_bitmap = new Bitmap(pictureBox1.Width, pictureBox1.Height); m_image = new Image(m_bitmap); m_painter = new Painter(m_image); pictureBox1.Image = m_bitmap; btnClear_Click(this, null); }
void CreateWindow () { window = new Gtk.Window ("animation viewer"); window.SetDefaultSize (640, 480); drawing_area = new Gtk.DrawingArea (); painter = new Painter (drawing_area, 200); painter.Add (Layer.Background, DrawFrame); window.Add (drawing_area); window.ShowAll (); }
private void drawAufgabeFromDot(object sender, MouseEventArgs e) { float iX, iY; string strIFS = ""; iX = (e.X * (_coord.MaxX - _coord.MinX)) / (float)ImageWidth + _coord.MinX; iY = (e.Y * (_coord.MaxY - _coord.MinY)) / (float)ImageHeight + _coord.MinY; // IFS laden switch (iKlicks) { default: strIFS = "IFS_TEST_Invers.IFS"; iKlicks = 0; break; } iKlicks++; _ifs = GLabReader.ReadIfsFromFile("..\\..\\IFS5\\" + strIFS); //test = Microsoft.Xna.Framework.Matrix.Invert(_ifs[0]); //test = Microsoft.Xna.Framework.Matrix.Invert(_ifs[1]); //test = Microsoft.Xna.Framework.Matrix.Invert(_ifs[2]); Logger.Instance.LogInfo("IFS:\t" + strIFS); //readIfsProbabilities(); // Create a new raster image for drawing _image = new Image <Rgb, byte>(ImageWidth, ImageHeight, new Rgb(Color.White)); // Painter initialisieren mit neuem Koordinatensystem _coord = new CoordinateSystem(_ifs.CoordinateSystem.MinX, _ifs.CoordinateSystem.MaxX, _ifs.CoordinateSystem.MinY, _ifs.CoordinateSystem.MaxY); _painter = new Painter(ref _image, _coord); _frame.SetImage(_image); _painter.PaintCoordinateSystem(16, Color.Red); // Punkt zeichnen Aufgabe(); }
public override void Paint(Level level) { Painter.Rect(level, this, 3, Tile.Chasm); Painter.Rect(level, this, 4, Tile.Chasm); var c = Rnd.Int(1, 3); var d = Rnd.Chance() ? PlatformController.ClockWise : PlatformController.CounterClockWise; for (var i = 0; i < c; i++) { var platform = new MovingPlatform(); platform.StartingStep = i; if (i == 0) { platform.Position = new Vector2(Left + 3, Top + 3) * 16; } else if (i == 2 || (i == 1 && c == 2)) // For symetry { platform.Position = new Vector2(Right - 4, Bottom - 4) * 16; platform.StartingStep = 2; } else if (i == 1) { platform.Position = new Vector2(Right - 4, Top + 3) * 16; } else if (i == 3) { platform.Position = new Vector2(Left + 3, Bottom - 4) * 16; } platform.Controller = d; level.Area.Add(platform); } }
// ReSharper disable once InconsistentNaming public static bool EnterToggle(OverlayMenu __instance, KIconToggleMenu.ToggleInfo toggle_info) { try { bool toggleMaterialColor = Traverse.Create(toggle_info).Field <HashedString>("simView").Value == IDs.MaterialColorOverlayHS; if (!toggleMaterialColor) { return(true); } State.Config.Enabled = !State.Config.Enabled; Painter.Refresh(); return(false); } catch (Exception e) { State.Common.Logger.LogOnce("EnterToggle failed.", e); return(true); } }
public virtual void DrawSelected(Painter painter) { Draw(painter); }
private void cboMallar_SelectedIndexChanged( object sender, EventArgs e ) { if ( _painter != null ) _painter.Dispose(); _painter = new Painter( 300, (cboMallar.SelectedItem as Template).Page, null); printPreview(); }
protected override double FileSizeTolerance => 0; // SkiaSharp is the baseline, no deviations allowed protected override void DrawToStream <TContent>(Painter <SKCanvas, TContent, SKColor> painter, System.IO.Stream stream, float textPainterCanvasWidth, TextAlignment alignment) => painter.DrawAsStream(textPainterCanvasWidth, alignment)?.CopyTo(stream);
/// <summary> /// Removes the item from the console output /// </summary> public void Hide() { Painter.Write(" ", X, Y); }
public override void Paint(Level level) { base.Paint(level); Painter.Fill(level, this, 1, Tile.Chasm); Painter.DrawLine(level, new Dot(Left + 1, Top + 1), new Dot(Left + 1, Bottom - 1), Tiles.RandomFloor(), true); Painter.DrawLine(level, new Dot(Right - 1, Top + 1), new Dot(Right - 1, Bottom - 1), Tiles.RandomFloor(), true); var ty = Rnd.Int(Top + 2, Bottom - 2); if (Rnd.Chance()) { ty = Top + GetHeight() / 2; } for (var i = 0; i < 2; i++) { if (Rnd.Chance()) { var tty = Rnd.Int(Top + 2, Bottom - 2); Painter.DrawLine(level, new Dot(Left + 1, tty), new Dot(Right - 1, tty), Tile.FloorD); } } Painter.DrawLine(level, new Dot(Left + 1, ty), new Dot(Right - 1, ty), Tiles.RandomFloor(), true); if (Connected.Count == 1) { ty = Rnd.Int(Top + 2, Bottom - 2); if (Connected.Values.First().X == Left) { PlaceButton(level, new Dot(Right - 1, ty)); } else { PlaceButton(level, new Dot(Left + 1, ty)); } } var s = Rnd.Int(2, 4); var xm = Rnd.Int(0, s); #region Wave Generator var xsmooth = Rnd.Chance(30); var xmod = Rnd.Float(s * 8, s * 16); var ysmooth = Rnd.Chance(30); var ymod = Rnd.Chance(30) ? xmod : Rnd.Float(s * 32, s * 64); var fn = new Func <int, int, float>((x, y) => { var t = 0f; if (!xsmooth) { t += (float)Math.Cos(x / xmod); } if (!ysmooth) { t += (float)Math.Sin(y / ymod); } return(MathUtils.Mod(t * 3, 3)); }); #endregion for (var x = Left + 3 + xm; x < Right - 2; x += s) { Place(level, x, Top + 1, 2, fn(x, Top + 1)); } for (var x = Left + 3 + xm; x < Right - 2; x += s) { Place(level, x, Bottom - 1, 6, fn(x, Bottom - 1)); } }
public virtual void OnMouseMove(Vector2 mousePos, Painter painter, ViewportType viewportType, Camera camera, Collider collider, Rect bounds) { }
static void TestDrawLine() { Canvas canvas = new Canvas(showForm1.CreateGraphics()); Painter painter = new Painter(canvas); Pen pen = new Pen(Color.Red, 2.5f); painter.DrawLine(pen, 5, 5, 100, 100); canvas.g = null; }
void Paint (WidgetType widgetType, Rectangle bounds, IDeviceContext dc, TransparencyType transparencyType, Color background, DeviceContextType deviceContextType, Rectangle clippingArea, Painter painter, Rectangle excludedArea) { Rectangle painted_area = Rectangle.Intersect (bounds, clippingArea); if (painted_area.Width == 0 || painted_area.Height == 0) return; painted_area.Offset (-bounds.X, -bounds.Y); excludedArea.Offset (-bounds.X, -bounds.Y); GdkDrawablePointer drawable = gdk_pixmap_new (IntPtr.Zero, bounds.Width, bounds.Height, 24); painter.AttachStyle (widgetType, drawable, this); GdkPixbufPointer pixbuf; IntPtr pixel_data; int rowstride; GdkGCPointer gc = gdk_gc_new (drawable); GdkColor color = new GdkColor (background); gdk_gc_set_rgb_fg_color (gc, ref color); Paint (drawable, gc, bounds, widgetType, out pixbuf, out pixel_data, out rowstride, painted_area, painter, excludedArea); GdkPixbufPointer white_pixbuf = IntPtr.Zero; IntPtr white_pixel_data = IntPtr.Zero; int white_rowstride = 0; GdkColor white_color = new GdkColor(); if (transparencyType == TransparencyType.Alpha) { white_color.red = guint16.MaxValue; white_color.green = guint16.MaxValue; white_color.blue = guint16.MaxValue; gdk_gc_set_rgb_fg_color (gc, ref white_color); Paint (drawable, gc, bounds, widgetType, out white_pixbuf, out white_pixel_data, out white_rowstride, painted_area, painter, excludedArea); } g_object_unref (gc); unsafe { byte* row = (byte*)pixel_data; byte* pixel; byte* white_row = (byte*)white_pixel_data; byte* white_pixel; for (int row_index = 0; row_index < painted_area.Height; row_index++) { pixel = row; white_pixel = white_row; for (int pixel_index = 0; pixel_index < painted_area.Width; pixel_index++) { const int GdkRedOffset = 0; const int GdkGreenOffset = 1; const int GdkBlueOffset = 2; const int BitmapAlphaOffset = 3; const int BitmapRedOffset = 2; const int BitmapBlueOffset = 0; switch (transparencyType) { case TransparencyType.Alpha: pixel [BitmapAlphaOffset] = (byte)(pixel [GdkRedOffset] - white_pixel [GdkRedOffset] + byte.MaxValue); break; case TransparencyType.Color: if ( pixel [GdkRedOffset] == background.R && pixel [GdkGreenOffset] == background.G && pixel [GdkBlueOffset] == background.B) { const int AlphaFullyTransparent = 0; pixel [BitmapAlphaOffset] = AlphaFullyTransparent; } break; } byte temporary = pixel [GdkRedOffset]; pixel [BitmapBlueOffset] = pixel [GdkBlueOffset]; pixel [BitmapRedOffset] = temporary; const int PixelSize = 4; pixel += PixelSize; white_pixel += PixelSize; } row += rowstride; white_row += white_rowstride; } } if (transparencyType == TransparencyType.Alpha) g_object_unref (white_pixbuf); g_object_unref (drawable); Bitmap bitmap = new Bitmap (painted_area.Width, painted_area.Height, rowstride, PixelFormat.Format32bppPArgb, pixel_data); Graphics g; bool graphics_is_from_hdc = false; switch (deviceContextType) { case DeviceContextType.Graphics: g = (Graphics)dc; break; case DeviceContextType.Native: g = Graphics.FromHdc (dc.GetHdc ()); break; default: g = dc as Graphics; if (g == null) { graphics_is_from_hdc = true; g = Graphics.FromHdc (dc.GetHdc ()); } else graphics_is_from_hdc = false; break; } painted_area.Offset (bounds.X, bounds.Y); g.DrawImage (bitmap, painted_area.Location); switch (deviceContextType) { case DeviceContextType.Graphics: break; case DeviceContextType.Native: g.Dispose (); dc.ReleaseHdc (); break; default: if (graphics_is_from_hdc) { g.Dispose (); dc.ReleaseHdc (); } break; } bitmap.Dispose (); g_object_unref (pixbuf); }
public ManagerPlanet(Painter paint) { delPlanets = new List<BasePlanet>(); this.paint = paint; planets = new HashSet<BasePlanet>(); ellipses = new List<Ellipse>(); delEllipses = new List<Ellipse>(); paint.setEllipseLists(ref ellipses, ref delEllipses); }
/// <summary> /// Initializes a new instance of the <see cref="NuGenSketchCanvas"/> class. /// </summary> /// <param name="hWnd">Specifies the handle of the window to associate.</param> /// <param name="serviceProvider"><para>Requires:</para> /// <para><see cref="INuGenButtonStateService"/></para> /// <para><see cref="INuGenControlStateService"/></para> /// <para><see cref="INuGenButtonLayoutManager"/></para> /// <para><see cref="INuGenButtonRenderer"/></para> /// <para><see cref="INuGenComboBoxRenderer"/></para> /// <para><see cref="INuGenDirectorySelectorRenderer"/></para> /// <para><see cref="INuGenImageListService"/></para> /// <para><see cref="INuGenPanelRenderer"/></para> /// <para><see cref="INuGenProgressBarLayoutManager"/></para> /// <para><see cref="INuGenProgressBarRenderer"/></para> /// <para><see cref="INuGenScrollBarRenderer"/></para> /// <para><see cref="INuGenSwitchButtonLayoutManager"/></para> /// <para><see cref="INuGenSwitchButtonRenderer"/></para> /// <para><see cref="INuGenTextBoxRenderer"/></para> /// <para><see cref="INuGenTrackBarRenderer"/></para> /// <para><see cref="INuGenThumbnailLayoutManager"/></para> /// <para><see cref="INuGenThumbnailRenderer"/></para> /// <para><see cref="INuGenToolStripRenderer"/></para> /// <para><see cref="INuGenValueTrackerService"/></para> /// </param> /// <exception cref="ArgumentNullException"> /// <para><paramref name="serviceProvider"/> is <see langword="null"/>.</para> /// </exception> /// <exception cref="ArgumentException"> /// <para> /// <paramref name="hWnd"/> does not represent a window. /// </para> /// </exception> public NuGenSketchCanvas(IntPtr hWnd, INuGenServiceProvider serviceProvider) { if (!User32.IsWindow(hWnd)) { throw new ArgumentException(string.Format(Resources.Argument_InvalidHWnd, hWnd.ToInt32())); } if (serviceProvider == null) { throw new ArgumentNullException("serviceProvider"); } _hWnd = hWnd; _serviceProvider = serviceProvider; _painter = new Painter(this); _msgFilter = new MessageFilter(_hWnd); _msgFilter.MouseDown += _msgFilter_MouseDown; _msgFilter.MouseMove += _msgFilter_MouseMove; _msgFilter.MouseUp += _msgFilter_MouseUp; _msgFilter.Paint += _msgFilter_Paint; _showPointerTimer = new Timer(); _showPointerTimer.Interval = 50; _showPointerTimer.Tick += _showPointerTimer_Tick; }
public MainWindow() { InitializeComponent(); this.Background = Brushes.Black; //canvas.Background = Brushes.Black; Painter painter = new Painter(canvas); manager = new ManagerPlanet(painter); Vector startCord = new Vector(canvas.Width / 2, canvas.Height / 2); planet = new BasePlanet(startCord); //manager.AddPlanet(planet); //manager.AddPlanet(new BasePlanet(new Coord(150, 980), new Coord(3050, 0), Brushes.Red, 2, 7)); //manager.AddPlanet(new BasePlanet(new Coord(700, 400), new Coord(0, 1500), Brushes.Blue, 1, 5)); //manager.AddPlanet(new BasePlanet(new Coord(1000, 400), new Coord(0, 0), Brushes.Gold, 100000, 25)); //manager.AddPlanet(new BasePlanet(new Coord(850, 500), new Coord(-50, 30), Brushes.SteelBlue, 100, 10)); //manager.AddPlanet(new BasePlanet(new Coord(50, 800), new Coord(100, 40), Brushes.White, 1, 4)); //manager.AddPlanet(new BasePlanet(new Coord(350, 100), new Coord(-30, 300), Brushes.Silver, 3, 1)); //manager.AddPlanet(new BasePlanet(new Coord(600, 600), new Coord(100, 100), Brushes.Red, 10, 10)); //manager.AddPlanet(new BasePlanet(new Coord(1200, 600), new Coord(200, -100), Brushes.Yellow, 10, 10)); //manager.AddPlanet(new BasePlanet(new Coord(900, 300), new Coord(310, 0), Brushes.Violet, 300, 10)); //manager.AddPlanet(new BasePlanet(new Coord(900, 900), new Coord(410, 0), Brushes.MintCream, 10, 10)); //manager.AddPlanet(new BasePlanet(new Coord(900, 600), new Coord(300, 0), Brushes.MintCream, 300, 10)); //manager.AddPlanet(new BasePlanet(new Coord(150, 980), new Coord(500, 0), Brushes.Red, 2, 7)); //manager.AddPlanet(new BasePlanet(new Coord(400, 400), new Coord(300, 0), Brushes.Blue, 1, 5)); //manager.AddPlanet(new BasePlanet(new Coord(1000, 400), new Coord(0, 0), Brushes.Gold, 100000, 25)); //manager.AddPlanet(new BasePlanet(new Coord(850, 500), new Coord(900, 0), Brushes.SteelBlue, 100, 10)); Random rand = new Random(); rand.Next(); for (int i = 0; i < 100; i++) { manager.AddPlanet(new BasePlanet(new Vector(rand.Next(0, 700), rand.Next(0, 400)), new Vector(rand.Next(2000, 5000), rand.Next(2000, 5000)), Brushes.Red, rand.Next(10, 10), 3)); } manager.AddPlanet(new BasePlanet(new Vector(350, 200), new Vector(0, 0), Brushes.Yellow, -1000, 10)); manager.AddPlanet(new BasePlanet(new Vector(450, 200), new Vector(0, 0), Brushes.Yellow, 10000, 10)); //manager.AddPlanet(new BasePlanet(new Coord(600, 600), new Coord(0, 3500), Brushes.Red, 10, 10)); //manager.AddPlanet(new BasePlanet(new Coord(1200, 600), new Coord(0, -3500), Brushes.Yellow, 10, 10)); //manager.AddPlanet(new BasePlanet(new Coord(900, 300), new Coord(-3500, 0), Brushes.Violet, 10, 10)); //manager.AddPlanet(new BasePlanet(new Coord(900, 900), new Coord(3500, 0), Brushes.MintCream, 10, 10)); //manager.AddPlanet(new BasePlanet(new Coord(900, 600), new Coord(0, 0), Brushes.Blue, 3000, 15)); manager.UpdatePlanets(); manager.DisplayPlanets(); }
static void TestFillPie() { Canvas canvas = new Canvas(showForm1.CreateGraphics()); Painter painter = new Painter(canvas); Brush blueBrush = new SolidBrush(Color.Blue); Rectangle fanRect = new Rectangle(100, 100, 50, 50); painter.FillPie(blueBrush, fanRect, 0, 60); canvas.g = null; }
static void TestDrawRectangle() { Canvas canvas = new Canvas(showForm1.CreateGraphics()); Painter painter = new Painter(canvas); Pen pen = new Pen(Color.Blue); Rectangle rect = new Rectangle(200, 200, 50, 50); painter.DrawRectangle(pen, rect); canvas.g = null; }
private void ResetColor() { Painter painter = new Painter(canvas); painter.ResetColors(drawer.Graph); }
static void TestClear() { Canvas canvas = new Canvas(showForm1.CreateGraphics()); Painter painter = new Painter(canvas); painter.Clear(showForm1.BackColor); canvas.g = null; }
void Paint (WidgetType widgetType, Rectangle bounds, IDeviceContext dc, Rectangle clippingArea, Painter painter) { Paint (widgetType, bounds, dc, TransparencyType.Alpha, Color.Black, DeviceContextType.Native, clippingArea, painter, Rectangle.Empty); }
public ExpansionEditor(ExpansionKrystal krystal) { InitializeComponent(); _newEditorState = _oldEditorState = EditorState.FixedOutput; _fixedInputPointsIndex = -1; _fixedOutputPointsIndex = -1; _inputPlanetIndex = -1; _outputPlanetIndex = -1; this.FieldPanel.MouseDown += new MouseEventHandler(FieldPanel_MouseDown); _outputKrystal = krystal; if(string.IsNullOrEmpty(_outputKrystal.Name)) _outputKrystal.Name = K.UntitledKrystalName; _expander = _outputKrystal.Expander; _strandNodeList = krystal.StrandNodeList(); _painter = new Painter(_strandNodeList); SetStatusText(); SetTreeView(); LoadGametesIntoEditor(); DisableAllSaving(); _fieldPanelGraphicsBuffer = _bufferedGraphicsContext.Allocate(FieldPanel.CreateGraphics(), FieldPanel.DisplayRectangle); _painter.DrawBackground(_fieldPanelGraphicsBuffer.Graphics); PointGroupParameters.InitSamplePanel(_painter._inputDotSize, _painter._outputDotSize, _painter._theLinePen, _painter._theOutputFillBrush); PointGroupParameters.UpdateFieldEditor += new PointGroupParameters.PointGroupParametersChangedHandler(PointGroupParametersChangedDelegate); ZoomComboBox.SelectedIndex = 4; }
public virtual void ModifyPainter(Level level, Painter painter) { level?.Variant?.ModifyPainter(painter); }
public PainterState(Painter painter) { Debug.Assert(painter != null, "painter != null"); _painter = painter; }
static void TestDrawPolygon() { Canvas canvas = new Canvas(showForm1.CreateGraphics()); Painter painter = new Painter(canvas); Pen pen = new Pen(Color.Blue); Point[] points = { new Point(10, 10), new Point(100, 100), new Point(10, 200) }; painter.DrawPolygon(pen, points); canvas.g = null; }
protected override void OnPaint(PaintEventArgs e) { var painter = new Painter(this, e.Graphics); painter.Paint(); }
protected virtual void DrawControl(Graphics g, bool hot) { //----- Draw border around control -------------------------// Painter.DrawBorder(g, m_ViewStyle, this.ClientRectangle, hot); //-----------------------------------------------------------// }
public presenter(IMainWindow View) { timer = new Timer(); timer.Tick += Timer_Tick; this.View = View; BlockSize = Block.BlockSize; View.TopScore = (int)Settings.Default["TopScore"]; Draft = new Bitmap(View.MainBoardWidth, View.MainBoardHeight);// DraftForNextBlock = new Bitmap(View.BoardWidth, View.BoardHeight); this.Painter =new Painter(Draft,BlockSize); PainterForNextBlock = new Painter(DraftForNextBlock, BlockSize); board = new Board(4, Draft.Height / BlockSize, Draft.Width / BlockSize); BoardForNextBlock = new Board(DraftForNextBlock.Height / BlockSize, DraftForNextBlock.Width / BlockSize); StartPoint = new Point(3, 0); RandomBlock = rand.Next(0, 7); blocks = Enumerable.Range(0, 7).ToArray(); blocks = Shuffle(blocks); IndexOfNextBlock = RandomBlock; block = new Block(blocks[RandomBlock], StartPoint, board); nextblock = new Block(blocks[IndexOfNextBlock], PositionOfNextBlock, board); IndexOfNextBlock++; ShowNextBlock(); View.Level = 1; View.Score = 0; Block.ArrivedAtBottom += Block_ArrivedAtBottom; board.FullLine += Board_FullLine; View.windowKeyDown += View_windowKeyDown; View.windowKeyUp += View_windowKeyUp; GameOver += Presenter_GameOver; View.FullLinesCounter = 0; Speed = defaultSpeed; }
public WSplit() { this.InitializeComponent(); base.Paint += new PaintEventHandler(this.clockPaint); base.SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.AllPaintingInWmPaint | ControlStyles.UserPaint, true); base.ResizeRedraw = true; // Eventually, the painter should not be dependant of the WSplit object... this.painter = new Painter(this); this.dview = new DetailedView(this.split, this); this.Initialize(); }
protected override void OnKeyPress( KeyPressEventArgs e ) { if (e.KeyChar == ('W' & 0x1F) && _person != null && _person.HasPhoto && !_person.AddedByPhotographer && Global.Skola.StudentCardTemplates.Count > _nStudentCardTemplate) { e.Handled = true; if (_person.StudentCardIsPrinted) if (Global.askMsgBox(this, "Är du säker på att du vill skriva ut den här personen en gång till?", true) != DialogResult.Yes) return; var mall = Global.Skola.StudentCardTemplates[_nStudentCardTemplate] as Template; try { using (var painter = new Painter(300, mall.Page, null)) { painter.ClearBackground(); using (var bmpPortrait = (Bitmap) Image.FromFile(_person.getViewImageFileName(TypeOfViewImage.BackdroppedHi))) painter.PaintPerson( 0, 0, 0, pl => bmpPortrait, null, _person, true); Printer.print( painter.Bitmap, TextConv.ConvertText(mall.Magnet, _person)); _person.StudentCardIsPrinted = true; } } catch (Exception ex) { Global.showMsgBox(this, ex.Message); } return; } base.OnKeyPress(e); }
public abstract void Draw(Painter painter);
public FreeHandState(Painter painter) : base(painter) { }
public static void FillCircle(this Painter p, double centerX, double centerY, double radius) { p.FillEllipse(centerX - radius, centerY - radius, radius + radius, radius + radius); }
//渲染房间云图 new Vector3(28.2f, 0, 13.8f); void DrawPositionHeatmap(Transform floor, List <Position> PositionList) { GameObject Painter; Texture2D tx; Vector3 s = Vector3.Scale(floor.GetComponent <MeshFilter>().mesh.bounds.size, floor.lossyScale); INT size = new INT((int)s.x * scale, (int)s.y * scale);//这里尽量把大小变成整数 有利于像素打点 //如果第一次加载 需要实例化云图 并且设置它的层级关系 以及Transform的信息 //如果更新 或者重新显示 不需要重新创建贴图 存下来利用就好了 if (!PainterDics.ContainsKey(floor)) { Painter = GameObject.CreatePrimitive(PrimitiveType.Quad); tx = new Texture2D(size.x, size.y); Material m = new Material(Shader.Find("Standard")); m.mainTexture = tx; Painter.GetComponent <MeshRenderer>().material = m; Painter.transform.SetParent(floor); Painter.transform.localPosition = new Vector3(0, 0.05f, 0); //比地面高0.05f Painter.transform.localEulerAngles = new Vector3(90, 0, 0); //此处需要确定 模型是不是向上 Painter.transform.localScale = new Vector3(1, 1, 1); PainterDics.Add(floor, Painter); } else { if (PainterDics[floor] == null)//如果被摧毁 也需要重新创建 并且把物体加入到对应的值中 { Painter = GameObject.CreatePrimitive(PrimitiveType.Quad); tx = new Texture2D(size.x, size.y); Material m = new Material(Shader.Find("Standard")); m.mainTexture = tx; Painter.GetComponent <MeshRenderer>().material = m; Painter.transform.SetParent(floor.parent); Painter.transform.localPosition = floor.transform.localPosition + new Vector3(0, 0.05f, 0); //比地面高0.05f Painter.transform.localEulerAngles = new Vector3(90, 0, 0); //此处需要确定 模型是不是向上 Painter.transform.localScale = new Vector3(s.x, s.z, 1); PainterDics[floor] = Painter; } else { Painter = PainterDics[floor]; Painter.SetActive(true); tx = Painter.GetComponent <MeshRenderer>().material.mainTexture as Texture2D; } } //存储每个像素的即有人在此位置的个数 float[,] posArray = new float[size.x + 1, size.y + 1]; foreach (var pos in PositionList) { PosArrayAdd(posArray, pos, size); } //计算完以后就可以打点了 for (int i = 0; i < size.x + 1; i++) { for (int j = 0; j < size.y + 1; j++) { tx.SetPixel(i, j, GetColor(posArray[i, j])); } } tx.Apply(); }
private void ColorizeGraph() { Painter painter = new Painter(canvas); painter.Colorize(drawer.Graph); }
void RenderPolygon(Painter p) { switch (this.PolygonSet) { case PolygonExampleSet.TwoSimplePaths: { //------------------------------------ // Two simple paths using (Tools.BorrowVxs(out var v1, out var v2)) { double x = _x - Width / 2 + 100; double y = _y - Height / 2 + 100; PolygonClippingDemoHelper.WritePath1(v1, x, y); PolygonClippingDemoHelper.WritePath2(v2, x, y); p.Fill(v1, ColorEx.Make(0f, 0f, 0f, 0.1f)); p.Fill(v2, ColorEx.Make(0f, 0.6f, 0f, 0.1f)); CreateAndRenderCombined(p, v1, v2); } } break; case PolygonExampleSet.CloseStroke: { //------------------------------------ // Closed stroke using (Tools.BorrowVxs(out var v1, out var v2)) { double x = _x - Width / 2 + 100; double y = _y - Height / 2 + 100; PolygonClippingDemoHelper.WritePath1(v1, x, y); PolygonClippingDemoHelper.WritePath2(v2, x, y); p.FillStroke(v1, 2, ColorEx.Make(0f, 0f, 0f, 0.1f)); p.FillStroke(v2, 3, ColorEx.Make(0f, 0.6f, 0f, 0.1f)); CreateAndRenderCombined(p, v1, v2); } } break; case PolygonExampleSet.GBAndArrow: { //------------------------------------ // Great Britain and Arrows using (Tools.BorrowVxs(out var v1_gb_poly, out var v2_arrows)) { AffineMat mat1 = AffineMat.Iden(); mat1.Translate(-1150, -1150); mat1.Scale(2); Affine mtx1 = new Affine(mat1); PolygonClippingDemoHelper.WriteGBObject(v1_gb_poly, 0, 0, mtx1); p.Fill(v1_gb_poly, ColorEx.Make(0.5f, 0.5f, 0f, 0.1f)); p.FillStroke(v1_gb_poly, 0.1f, ColorEx.Make(0, 0, 0)); // Affine mtx2 = mtx1 * Affine.NewTranslation(_x - Width / 2, _y - Height / 2); PolygonClippingDemoHelper.WriteArrow(v2_arrows, 0, 0, mtx2); p.Fill(v2_arrows, ColorEx.Make(0f, 0.5f, 0.5f, 0.1f)); CreateAndRenderCombined(p, v1_gb_poly, v2_arrows); } } break; case PolygonExampleSet.GBAndSpiral: { //------------------------------------ // Great Britain and a Spiral // using (Tools.BorrowVxs(out var v1_gb_poly)) using (Tools.BorrowVxs(out var v2_spiral, out var v2_spiral_outline)) using (Tools.BorrowStroke(out var stroke)) { AffineMat mat = AffineMat.Iden(); mat.Translate(-1150, -1150); mat.Scale(2); Affine mtx = new Affine(mat); PolygonClippingDemoHelper.WriteGBObject(v1_gb_poly, 0, 0, mtx); PolygonClippingDemoHelper.WriteSpiral(v2_spiral, _x, _y); p.Fill(v1_gb_poly, ColorEx.Make(0.5f, 0.5f, 0f, 0.1f)); p.FillStroke(v1_gb_poly, 0.1f, Color.Black); stroke.Width = 15; p.Fill(stroke.MakeVxs(v2_spiral, v2_spiral_outline), ColorEx.Make(0.0f, 0.5f, 0.5f, 0.1f)); CreateAndRenderCombined(p, v1_gb_poly, v2_spiral_outline); } } break; case PolygonExampleSet.SprialAndGlyph: { //------------------------------------ // Spiral and glyph using (Tools.BorrowVxs(out var v1_spiral, out var v1_spiralOutline, out var v3)) using (Tools.BorrowVxs(out var glyph_vxs)) using (Tools.BorrowStroke(out var stroke)) { //Affine mtx = Affine.New( // AffinePlan.Scale(4), // AffinePlan.Translate(220, 200)); AffineMat mat = AffineMat.Iden(); mat.Scale(4); mat.Translate(220, 200); PolygonClippingDemoHelper.WriteSpiral(v1_spiral, _x, _y); PolygonClippingDemoHelper.WriteGlyphObj(glyph_vxs, 0, 0, new Affine(mat)); //----------------------------------------- stroke.Width = 1; stroke.MakeVxs(v1_spiral, v1_spiralOutline); CreateAndRenderCombined(p, v1_spiralOutline, glyph_vxs); p.Fill(v1_spiralOutline, ColorEx.Make(0f, 0f, 0f, 0.1f)); p.Fill(glyph_vxs, ColorEx.Make(0f, 0.6f, 0f, 0.1f)); } } break; } }
public override void ModifyPainter(Painter painter) { base.ModifyPainter(painter); painter.Grass = 0.4f; }
public static void StackClearUserObject(this Painter p) { p._userObjectStack.Clear(); }
void PaintExcludingArea (WidgetType widgetType, Rectangle bounds, IDeviceContext dc, Rectangle excludedArea, Painter painter) { Paint (widgetType, bounds, dc, TransparencyType.Alpha, Color.Black, DeviceContextType.Native, bounds, painter, excludedArea); }
public void SetUp() { _painter = new Painter(); }
void Paint (GdkDrawablePointer drawable, GdkGCPointer gc, Rectangle rectangle, WidgetType widgetType, out GdkPixbufPointer pixbuf, out IntPtr pixelData, out int rowstride, Rectangle clippingArea, Painter painter, Rectangle excludedArea) { gdk_draw_rectangle (drawable, gc, true, clippingArea.X, clippingArea.Y, clippingArea.Width, clippingArea.Height); painter.Paint (styles [(int)widgetType], drawable, new GdkRectangle(clippingArea), widgets [(int)widgetType], 0, 0, rectangle.Width, rectangle.Height, this); if (excludedArea.Width != 0) gdk_draw_rectangle (drawable, gc, true, excludedArea.X, excludedArea.Y, excludedArea.Width, excludedArea.Height); if ( (pixbuf = gdk_pixbuf_new (GdkColorspace.GDK_COLORSPACE_RGB, true, 8, clippingArea.Width, clippingArea.Height)) == IntPtr.Zero || gdk_pixbuf_get_from_drawable (pixbuf, drawable, IntPtr.Zero, clippingArea.X, clippingArea.Y, 0, 0, clippingArea.Width, clippingArea.Height) == IntPtr.Zero) throw new OutOfMemoryException (); pixelData = gdk_pixbuf_get_pixels (pixbuf); rowstride = gdk_pixbuf_get_rowstride (pixbuf); }
/// <summary> /// Zoom in or out by a factor of <paramref name="factor"/>. Try to /// keep the last selected position visible in the same position if /// at all position. /// </summary> /// <param name="factor"></param> private void Zoom(float factor) { if (imageMap == null) return; var addr = MapClientPositionToAddress(xLastMouseUp); var oldGranularity = Granularity; var newGranularity = (long)Math.Ceiling(Granularity * factor); BoundGranularity(newGranularity); // We want addr to appear in the same position as it did last time, if possible. this.painter = CalculateLayout(); var iSeg = painter.GetSegment(addr); if (iSeg == null) return; long cxInsideSeg = (addr - iSeg.Segment.Address) / granularity; cxOffset = iSeg.X + cxInsideSeg - (xLastMouseUp - CxScroll); BoundOffset(cxOffset); Invalidate(); }
static void Main() { Painter game = new Painter(); game.Run(); }
public virtual void OnMouseUp(Vector2 mousePos, Painter painter) { }
public void MyTestMethod() { IPainter painter = new Painter(); painter.Draw(); }
static void TestDrawOnBitmap() { showForm2 = new Form(); showForm2.Width = 600; showForm2.Height = 600; showForm2.Show(); //draw on bitmap Bitmap b = new Bitmap(400, 400); Canvas canvas = new Canvas(Graphics.FromImage(b)); Painter painter = new Painter(canvas); //draw a line Pen pen = new Pen(Color.Red, 1); pen.DashStyle = DashStyle.DashDotDot; painter.DrawLine(pen, 5, 5, 100, 100); //draw a pie LinearGradientBrush mylbrush = new LinearGradientBrush(new Rectangle(20, 80, 250, 100), Color.DarkOrange, Color.Aquamarine, LinearGradientMode.BackwardDiagonal); Rectangle fanRect = new Rectangle(100, 100,200, 200); painter.FillPie(mylbrush, fanRect, 0, 60); //show a bitmap onto pictureBox PictureBox pictureBox = new PictureBox(); pictureBox.Size = new Size(500,500); pictureBox.BorderStyle = BorderStyle.FixedSingle; showForm2.Controls.Add(pictureBox); pictureBox.Image = Image.FromHbitmap(b.GetHbitmap()); pictureBox.Refresh(); canvas.g = null; }
public WorkShopLakier(Damage type, Worker worker, Painter painter, Point pos) : base(type, worker, painter, pos) { }
public override void Draw() { Painter.DrawLine(Pen, x, y); }
/// <summary> /// Renders the display object with the help of a support object. /// </summary> public abstract void Render(Painter painter);
public override void DeleteFig() { Pen tmpPen = new Pen(Color.White, 3); Painter.DrawLine(tmpPen, x, y); }
public void PaintTunnel(List <Door> Doors, Tile Floor, Rect space = null, bool Bold = false, bool shift = true, bool randomRect = true) { if (Doors.Count == 0) { return; } var Level = Run.Level; var C = space; if (C == null) { var c = new Dot(MapX + MapW / 2, MapY + MapH / 2); C = new Rect(c.X, c.Y, c.X, c.Y); } var minLeft = C.Left; var maxRight = C.Right; var minTop = C.Top; var maxBottom = C.Bottom; var Right = MapX + MapW - 1; var Bottom = MapY + MapH - 1; Painter.Clip = new Rect(MapX, MapY, MapX + MapW - 1, MapY + MapH - 1); foreach (var Door in Doors) { var dx = (int)Math.Floor(Door.CenterX / 16f); var dy = (int)Math.Floor(Door.CenterY / 16f); var Start = new Dot(dx, dy); Dot Mid; Dot End; if (shift) { if ((int)Start.X == MapX) { Start.X++; } else if ((int)Start.Y == MapY) { Start.Y++; } else if ((int)Start.X == Right) { Start.X--; } else if ((int)Start.Y == Bottom) { Start.Y--; } } int RightShift; int DownShift; if (Start.X < C.Left) { RightShift = (int)(C.Left - Start.X); } else if (Start.X > C.Right) { RightShift = (int)(C.Right - Start.X); } else { RightShift = 0; } if (Start.Y < C.Top) { DownShift = (int)(C.Top - Start.Y); } else if (Start.Y > C.Bottom) { DownShift = (int)(C.Bottom - Start.Y); } else { DownShift = 0; } if (dx == MapX || dx == Right) { Mid = new Dot(MathUtils.Clamp(MapX + 1, Right - 1, Start.X + RightShift), MathUtils.Clamp(MapY + 1, Bottom - 1, Start.Y)); End = new Dot(MathUtils.Clamp(MapX + 1, Right - 1, Mid.X), MathUtils.Clamp(MapY + 1, Bottom - 1, Mid.Y + DownShift)); } else { Mid = new Dot(MathUtils.Clamp(MapX + 1, Right - 1, Start.X), MathUtils.Clamp(MapY + 1, Bottom - 1, Start.Y + DownShift)); End = new Dot(MathUtils.Clamp(MapX + 1, Right - 1, Mid.X + RightShift), MathUtils.Clamp(MapY + 1, Bottom - 1, Mid.Y)); } Painter.DrawLine(Level, Start, Mid, Floor, Bold); Painter.DrawLine(Level, Mid, End, Floor, Bold); if (Rnd.Chance(10)) { Painter.Set(Level, End, Tiles.RandomFloor()); } minLeft = Math.Min(minLeft, End.X); minTop = Math.Min(minTop, End.Y); maxRight = Math.Max(maxRight, End.X); maxBottom = Math.Max(maxBottom, End.Y); } if (randomRect && Rnd.Chance(20)) { if (Rnd.Chance()) { minLeft--; } if (Rnd.Chance()) { minTop--; } if (Rnd.Chance()) { maxRight++; } if (Rnd.Chance()) { maxBottom++; } } minLeft = MathUtils.Clamp(MapX + 1, Right - 1, minLeft); minTop = MathUtils.Clamp(MapY + 1, Bottom - 1, minTop); maxRight = MathUtils.Clamp(MapX + 1, Right - 1, maxRight); maxBottom = MathUtils.Clamp(MapY + 1, Bottom - 1, maxBottom); if (Rnd.Chance()) { Painter.Fill(Level, minLeft, minTop, maxRight - minLeft + 1, maxBottom - minTop + 1, Rnd.Chance() ? Floor : Tiles.RandomFloor()); } else { Painter.Rect(Level, minLeft, minTop, maxRight - minLeft + 1, maxBottom - minTop + 1, Rnd.Chance() ? Floor : Tiles.RandomFloor()); } Painter.Clip = null; }
// this is called when we want to build the layer panel UI for this layer public virtual void InitializeEditorUI(Painter painter, VisualContainer root) { }
public WorkShopDiagnostyk(Damage type, Worker worker, Painter painter, Point pos) : base(type, worker, painter, pos) { }
public virtual void DoClear(Painter painter) { }