如何为图形动态创建图像。DrawImageUnscaledClipped

如何为图形动态创建图像。DrawImageUnscaledClipped,image,graphics,infragistics,Image,Graphics,Infragistics,我有一个应用程序,使用Infragistics UltraMonthViewMulti用户界面控件显示休假和缺勤 我有几种不同颜色的缺席。我已经成功地创建了一个绘图过滤器,它使用以下代码在适当的日期显示半天三角形 If (day.Date.CompareTo(DateTime.Today) = 0) Then drawParams.Graphics.DrawImageUnscaledAndClipped(Image.FromFile("..//..//redTriangl

我有一个应用程序,使用Infragistics UltraMonthViewMulti用户界面控件显示休假和缺勤

我有几种不同颜色的缺席。我已经成功地创建了一个绘图过滤器,它使用以下代码在适当的日期显示半天三角形

    If (day.Date.CompareTo(DateTime.Today) = 0) Then
        drawParams.Graphics.DrawImageUnscaledAndClipped(Image.FromFile("..//..//redTriangleHalfDay.png"), day.Rect)
        Return False
    End If
上面的代码需要项目中具有适当颜色的PNG文件。我希望在代码中动态创建这些彩色图像,并避免使用大量PNG文件

这可能吗

非常感谢您的帮助或建议


詹姆斯·奥多尔蒂(James O'Doherty)

如果您用其他类型的符号/颜色替换图像,则可能是您任务的另一种解决方案(再次使用DrawFilter)。如果您使用以下示例,则可以绘制三角形、圆环、直线、圆弧等,而不是绘制图像:

Graphics gr = ultraMonthViewMulti1.CreateGraphics;;
        gr.DrawPolygon(new Pen(Color.Red), new Point[] { new Point(10, 10), new Point(20, 20), new Point(10, 30), new Point(10, 10) });
用这种方法(用三个点)你可以画一个三角形。也可以使用其他绘制方法。例如: gr.DrawCurve,gr.Drawllipse,gr.DrawLine,gr.DrawPie

如果您有任何问题,请随时写信给我