【如果鼠标位于具有工具提示的图像上,则不会绘制C#.Net Form】教程文章相关的互联网学习教程文章

c#-用户绘制的圆的凸包

我正在开发一款游戏,其中必须找到一组凸点的凸包.我正在尝试选择正确的算法.这些点集是用户绘制的形状,因此它们具有顺序.理想情况下,用户绘制椭圆,但是只要是单个笔划,他们就可以绘制任何东西.下面是一些示例:我想找到这些形状的凸包.我发现的所有凸包算法都假设一个随机无序的点集.当用户通过单击并拖动鼠标绘制点时,哪种算法最适合我的特定情况,因此这些点是有序的. 笔记: 特别是,许多是输出敏感算法. O(n log h),其中n是所有点...

用C#绘制一系列位图的最快方法【代码】

我正在构建一个应用程序,该应用程序从摄像机(30fps @ 640480)捕获视频帧,进行处理,然后在Windows窗体上显示它们.我最初使用的是DrawImage(请参见下面的代码),但是性能太差了.即使禁用了处理步骤,在2.8GHz Core 2 Duo机器上,我所能获得的最佳效果还是20fps. Windows窗体上启用了双缓冲,否则我会撕裂. 注意:所使用的图像是格式为24bppRgb的位图.我知道使用Format32bppArgb格式的图像应该可以使DrawImage更快,但是我受到帧捕获器发出...

使用相对坐标从C#绘制路径【代码】

是否在Path的Data属性中使用了与XAML小写命令等效的c#? XAML:<Path Stroke="Black" Data="M 100,200 c 100,25 400,350 400,175" />从我可以看到,LineSegmenet,BezierSegment和其他类型的线段未公开建议使用相对坐标而不是默认绝对值的属性.解决方法:你可以做这样的事情Path p=new Path(); p.Data = Geometry.Parse("M 100,200 c 100,25 400,350 400,175"); p.Stroke =new SolidColorBrush(Colors.Black);

c#-在WPF中绘制数千个矩形【代码】

我需要绘制许多矩形(?50000).目前,我正在使用以下方法.<ItemsControl ItemsSource="{Binding Elements}" IsHitTestVisible="False" Background="Transparent"><ItemsControl.ItemsPanel><ItemsPanelTemplate><Canvas IsItemsHost="True"Background="Transparent"Width="500" Height="500"></Canvas></ItemsPanelTemplate></ItemsControl.ItemsPanel><ItemsControl.ItemContainerStyle><Style TargetType="ContentPresenter"><Sett...

在C#中绘制父母和父母子女的自定义背景【代码】

我正在尝试使用this tutorial,以便可以使用透明按钮.在主要背景下效果很好,但不会覆盖其他子项.如果我使用BringToFront(),则它应该在其他子项的绘图处. 我已经开始通过将其添加到代码中来解决它:foreach (Control child in Parent.Controls) {if(child != this) {InvokePaintBackground(child, pea);InvokePaint(child, pea);} }尽管我得到了一些想要的东西,但它位于错误的位置(在左侧而不是应该在中间的位置),并且在儿童绘画事件...

c#-用网格绘制一个实心框【代码】

我正在尝试使用C#在AutoCAD中以编程方式绘制一个实心框/矩形.我靠近了,但网格的顶部和底部并不牢固.这是我画网格的方法[CommandMethod("TESTSIMPLEMESH")] public void TestSimpleMesh() {// Get the current document and database, and start a transactionDatabase _database = HostApplicationServices.WorkingDatabase;Document acDoc = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument...

CS0117 C#“资源”不包含“可绘制”的定义【代码】

在我最终设法设置了自定义渲染器之后,我想更改应用程序中每个按钮的形状.听起来很容易,对吧? 设定: Xamarin.Forms版本2.3.2.127 Xamarin.Android.Support.*版本23.3.0 我的自定义渲染器:var btn = this.Control as Android.Widget.Button; btn.SetBackgroundResource(Resource.Drawable.arrow_button);当我尝试建立&部署它,错误列表给我以下错误:CS0117 C# 'Resource' does not contain a definition for 'Drawable'如何解决此...

C#从CSV文件读取字符串并绘制折线图【代码】

目前,我能够使用Windows窗体应用程序从多个CSV文件读取数据并绘制折线图.但是,现在我需要根据CSV文件的部分名称(csv文件的第三列)绘制折线图. 修改/新的CSV文件:(添加了“部分名称”列)Values,Sector,Name 5.55,1024,red 5.37,1536,red 5.73,2048,blue 5.62,2560,.blue 5.12,3072,.yellow ...>根据“节名称”列,我的折线图需要相应地绘制在一条直线上,并且不同的节必须用不同的颜色绘制,包括图侧面显示的图例必须根据不同的节名称...

c#-等待用户界面重新绘制,然后对其进行“截屏”【代码】

挑战 我正在尝试创建一个在PDF文档页面上绘制卡片的窗口. 这个想法是接收(应该在卡片上画出的物品)的集合,然后遍历它们,对于每个物品,将其加载到UniformGrid(给人真实的卡片印象),捕获一个屏幕上的图像并将其绘制到PDF文档的页面. 到现在为止还挺好. 我尝试过的(部分成功) 这是我尝试过的: (以下代码已添加到窗口的Loaded事件处理程序中)PdfDocument document = new PdfDocument();// This is just an example int[][] items = ne...

c#-GDI线图绘制算法【代码】

我不了解GDI在表面上画线的方式,可能是它有某种算法可以做到. 对于前.让我们采取1010像素的表面.Bitmap img = new Bitmap(10, 10);现在让我们在此曲面上绘制一条线,宽度为5px,顶部偏移为5px.using (var g = Graphics.FromImage(img)){g.Clear(Color.White);var pen = new Pen(Color.Brown);pen.Width = 5;g.DrawLine(pen, 0F, 5F, 10F, 5F);}我们将得到: 绘图不是从像素#5开始,而是从像素#4开始.显然,起点是单独计算的.但是如何?...

c#-使用DrawString()正确绘制文本【代码】

我在Graphics.DrawString()方法上遇到问题.我的UserControl使用等宽字体在面板上绘制,很显然,DrawString()格式化文本的方式是不再完全等距.我一直在使用StringFormat来解决此问题,但没有成功:StringFormat sf = new StringFormat(StringFormatFlags.NoClip | StringFormatFlags.FitBlackBox | StringFormatFlags.LineLimit | StringFormatFlags.MeasureTrailingSpaces);绘制文本的代码:for (int i = 0; i < document.Text.Count;...

c#-将操纵的图形绘制到另一个图形中【代码】

我想将一个操纵的图形绘制到另一个图形中:// I have two graphics: var gHead = Graphics.FromImage(h); var gBackground = Graphics.FromImage(b);// Transform the first one var matrix = new Matrix(); matrix.Rotate(30); gHead.Transform = matrix;// Write the first in the second gBackground.DrawImage(h, 200, 0, 170, 170);输出是带有头部img的背景img-但头部img不旋转. 我想念什么?解决方法:图形对象的Transform属性...

C#-WPF DynamicDataDisplay-用标记缓慢绘制【代码】

使用标记时,我很难等待D3中的ChartPlotter显示出来.当然,我正在尝试绘制Gazillion记录(以及700,000条记录).仅使用一条线时,一切都很好(20秒左右).使用标记时,我们正在谈论5分钟.那是不可接受的. 有任何想法吗? 这是我所做的,并附有解释.public static string MakeSimplePlot(double[][] xData, double[][] yData, string[] legend, string xAxisTitle, string yAxisTitle, bool[] showLines, bool[] showMarkers){ChartPlotter pl...

在C#中绘制矩形和圆形无法正常工作【代码】

所以我要创建一个二维网格,其中包含一个矩形和圆形的图形flowLayoutPanel.但是,我遇到的问题是它们没有被完全绘制. 这是按下按钮时的事件代码.private void DrawIt(){System.Drawing.Graphics graphics = flowLayoutPanel1.CreateGraphics();graphics.Clear(Form1.ActiveForm.BackColor);int row = Convert.ToInt32(textBox1.Text);int column = Convert.ToInt32(textBox2.Text);flowLayoutPanel1.Width = (row * 50) + 30;flowLay...

c#-System.Drawing.Graphics.DrawRectangle绘制比指定大1px的矩形【代码】

这里的代码非常简单…只需在窗体的OnPaint例程中绘制应为6464矩形的矩形即可:protected override void OnPaint(PaintEventArgs e) {base.OnPaint(e);e.Graphics.DrawRectangle(Pens.Black, new Rectangle(32, 32, 64, 64)); }我进行了以下屏幕截图,并测量了6565的正方形. 只想知道是什么原因导致额外的1px宽度/高度,以及如何解决? 编辑… 我知道我可以使用Rectangle.Inflate(-1,-1)进行修复…更重要的是,我想知道为什么GDI / GDI...