protected override void OnPaint(PaintEventArgs e) { //if (SelectImageRect.IsEmpty) //{ // base.OnPaint(e); // return; //} base.OnPaint(e); //将所选择区域原色显示 //画突出显示的部分 Graphics oldg = e.Graphics; oldg.DrawImage(this._screenImage, SelectImageRect, SelectImageRect, GraphicsUnit.Pixel); Graphics g = e.Graphics; g.SmoothingMode = SmoothingMode.AntiAlias; if (SelectImageRect.Width != 0 && SelectImageRect.Height != 0) { Rectangle rect = SelectImageRect; CaptureImageToolColorTable colorTable = ColorTable; if (_mouseDown) { if (!SelectedImage || SizeGrip != SizeGrip.None) { using (SolidBrush brush = new SolidBrush( Color.FromArgb(0, colorTable.BackColorNormal))) { g.FillRectangle(brush, rect); } DrawImageSizeInfo(g, rect); } } using (Pen pen = new Pen(colorTable.BorderColor)) { g.DrawRectangle(pen, rect); using (SolidBrush brush = new SolidBrush(colorTable.BackColorPressed)) { foreach (Rectangle sizeGripRect in SizeGripRectList.Values) { g.FillRectangle( brush, sizeGripRect); } } } DrawOperate(g); if (DrawStyle != DrawStyle.None) { DrawTools(g, _endPoint); } } }
private void SetControlColorTable() { CaptureImageToolColorTable colorTable = ColorTable; ToolStripRendererEx renderer = new ToolStripRendererEx(colorTable); contextMenuStrip.Renderer = renderer; drawToolsControl.ColorTable = colorTable; colorSelector.ColorTable = colorTable; }
public ToolStripRendererEx(CaptureImageToolColorTable colorTable) : base() { _colorTable = colorTable; }