任何人都知道为什么ChartArea.BackImage是string类型的属性? 对于这种类型的Image属性来说,它是否更有意义?
或者换句话说,如何将ChartArea的背景图像设置为在运行时生成的图像(例如从GraphicPath对象)?
欢迎提出建议,谢谢。
答案 0 :(得分:5)
正如MSDN在此处所述:ChartArea.BackImage Property。 BackImage属性是一个字符串值,表示图像文件的URL。
因此,为了提供动态创建的图像,您需要创建图像(请查看以下有关使用System.Drawing命名空间中的对象来实现此目的的文章):Dynamic Image Generation with ASP.Net
你可以:
1 - 存储到文件系统。
或者
2 - 设置HttpHandler以动态提供它。
请参阅:Using HttpHandlers to serve image files
无论哪种方式,您都需要像这样设置图像的路径:
Chart.ChartAreas[0].BackImage = imagePath;
希望这有帮助。
答案 1 :(得分:3)
使用NamedImage解决方案
var chartBackImage = new Bitmap(1,1); //some bmp
chart1.Images.Add(new NamedImage("GiveSomeName", chartBackImage));
chart1.Areas[0].BackImage = Images[0].Name;
chart1.Areas[0].BackImageWrapMode = ChartImageWrapMode.Scaled; //extra
答案 2 :(得分:1)
同时设置图表和图表区域BackColor ="透明"为了显示图像
marker.addListener('click', function() {
this.setIcon('@(Url.Content("~/content/images/Map-Marker-Blue.png"))');