大佬教程收集整理的这篇文章主要介绍了.NET Charting图例标记大小,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在.NET Windows窗体项目上使用DataVisualizations CharTing控件。 我遇到的问题是,当我打印图表时,图例并没有显示系列标记(实际上它是一种显示,但它看起来像线上较暗的像素)。 当在表单上查看图表时,标记是可见的,尽pipe它们不是很大,并且与系列的MarkerSize值相比似乎没有改变。 但是当图表打印时(在纸上或PDF上),标记不在那里。
此图显示了在表单上查看图表的视图。 正如你所看到的,图例标记是可见的,但仍然没有接近实际系列标记的位置。
该图显示了同一图表的PDF版本。 如果你眯起眼睛,你可以在图例中心看到较暗的像素。
OutOfMemoryException / ERROR_COMMITMENT_LIMIT与系统中的大量可用内存
如何保持Windows安装对话框在.NET中popup?
.Net使用特殊文件夹符号
在Linux上部署ASP.NET MVC:最佳实践,工具和惊喜
如何在Windows Server 2003上从IIS 6提供文件?
空隙的.NET代码签名的应用程序不会安装/运行
如何检索窗口的最小化,最大化和closuresbutton的大小?
将C#.Net Framework控制台应用程序的源值提供给控制台命令
在禁用wow64redirect之后,“找不到指定的程序”
由于似乎无法控制传奇标记,因此您可能需要创建自定义传奇。 下面是一个如何在Form和PDF查看的例子:
我不得不缩小PDF,所以看起来更薄/更轻。
Legend CustomcatloneLegend(Chart chart,Legend oLeg) { Legend newL = new Legend(); newl.Position = oLeg.Position; // copy a few setTings: newl.Docking = oLeg.Docking; newl.Alignment = oLeg.Alignment; // a few numbers for the drawing to play with; you may want to use floats.. int iw = 32; int iw2 = iw / 2; int ih = 18; int ih2 = ih / 2; int ir = 12; int ir2 = ir / 2; int lw = 3; // we want to access the series' colors! chart.ApplyPaletteColors(); foreach (Series S in chart.Series) { // the drawing code is only for linechart and markerstyles circle or square: Bitmap bmp = new Bitmap(iw,ih); using (Graphics G = Graphics.FromImage(bmp)) using (Pen pen = new Pen(s.Color,lw)) using (SolidBrush brush = new SolidBrush(s.Color)) { G.DrawLine(pen,ih2,iw,ih2); if (s.MarkerStyle == MarkerStyle.CirclE) G.FillEllipse(brush,iw2 - ir2,ih2 - ir2,ir,ir); else if (s.MarkerStyle == MarkerStyle.SquarE) G.FillRectangle(brush,ir); } // add a new NamesImage NamedImage ni = new NamedImage(s.Name,bmp); chart.Images.Add(ni); // create and add the custom legend item LegendItem lit = new LegendItem( s.Name,Color.Red,s.Name); newl.CustomItems.Add(lit); } oLeg.Enabled = false; return newL; }
这就是我所说的:
Legend LC = CustomcatloneLegend(chart3,L); chart1.Legends.Add(LC);
一些注意事项:
代码使用chart.ApplyPaletteColors() 。 这是访问Series颜色所必需的。
它还利用了小知识类NamedImage和Chart.Images 。 这是必要的,因为设置Chart任何图像需要一个字符串!
如果你想放大图片,你可能需要使用LegendCells 。 有关示例, 请参阅此处 !
我已经编码图像绘制只有一个ChartType ( Line )和只有两个MarkerStyles 。
有很多方法来定制这些CustomItems 。 查看更多信息
我确实使用了Series.MarkerSize但通过设置ir = s.MarkerSize; 等循环里面!
您可能需要从原来的图例中复制一些比我做的更多的设置。 我只是注意到你已经设置了一个Font ..
以上是大佬教程为你收集整理的.NET Charting图例标记大小全部内容,希望文章能够帮你解决.NET Charting图例标记大小所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。