我在用C#編寫的方法中呈現一些位圖。在DrawText方法中當前上下文錯誤下不存在名稱「e」
我正在學習使用TextRenderer.DrawText()
方法將文本繪製到位圖上。該片段如下:
TextRenderer.DrawText(e.Graphics, "Regular Text", SystemFonts.DefaultFont, new Point(10, 10), SystemColors.ControlText);
然而,e.Graphics
下,我給出的錯誤The name "e" does not exist under the current context
。
我想知道可能是什麼問題?
從我的渲染方法中的代碼段,通過Rhino-通用庫:
protected override void Render(Grasshopper.GUI.Canvas.GH_Canvas canvas, Graphics graphics, Grasshopper.GUI.Canvas.GH_CanvasChannel channel) {
base.Render(canvas, graphics, channel);
if (channel == Grasshopper.GUI.Canvas.GH_CanvasChannel.Wires) {
var comp = Owner as KT_HeatmapComponent;
if (comp == null)
return;
List<HeatMap> maps = comp.CachedHeatmaps;
if (maps == null)
return;
if (maps.Count == 0)
return;
int x = Convert.ToInt32(Bounds.X + Bounds.Width/2);
int y = Convert.ToInt32(Bounds.Bottom + 10);
for (int i = 0; i < maps.Count; i++) {
Bitmap image = maps[i].Image;
if (image == null)
continue;
Rectangle mapBounds = new Rectangle(x, y, maps[i].Width, maps[i].Height);
mapBounds.X -= mapBounds.Width/2;
Rectangle edgeBounds = mapBounds;
edgeBounds.Inflate(4, 4);
GH_Capsule capsule = GH_Capsule.CreateCapsule(edgeBounds, GH_Palette.Normal);
capsule.Render(graphics, Selected, false, false);
capsule.Dispose();
graphics.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.NearestNeighbor;
graphics.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.Half;
graphics.DrawImage(image, mapBounds);
graphics.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
graphics.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.Default;
graphics.DrawRectangle(Pens.Black, mapBounds);
TextRenderer.DrawText(e.Graphics, "Regular Text", SystemFonts.DefaultFont, new Point(10, 10), SystemColors.ControlText);
y = edgeBounds.Bottom - (mapBounds.Height) - 4;
}
}
}
上面的代碼段呈現熱圖到蚱蜢畫布,像這樣:
不過,我有興趣在其上添加標題和x/y軸文本。
那麼您希望*'e'來自哪裏?我們在這裏沒有語境 - 這是在事件處理程序中嗎?還有別的嗎? –
可能這段代碼來自一個繪製處理程序,並且傳遞了一個名爲'e'的事件對象。 –
我剛剛得知這是一個事件處理程序arg。不,這不是一個事件處理程序,所以我可能會使用錯誤的方法在我的位圖上繪製文本。在編輯中我會更具體些。 – theGreenCabbage