- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
这是此 question 的跟进.
我正在尝试使用 DrawingContext
绘制一个实心三角形,它在 DrawingVisual
上呈现
目前,我已经成功地使用以下 C# 代码绘制了三角形的轮廓:
private DrawingVisual CreateTriangle()
{
DrawingVisual triangle = new DrawingVisual();
using ( DrawingContext dc = triangle.RenderOpen() )
{
Pen drawingPen = new Pen(Brushes.Black,3);
dc.DrawLine(drawingPen, new Point(0, 50), new Point(50, 0));
dc.DrawLine(drawingPen, new Point(50, 0), new Point(50, 100));
dc.DrawLine(drawingPen, new Point(50, 100), new Point(0, 50));
}
return triangle;
}
我明白了:
我如何绘制一个三角形,除了我绘制的边框外还有一个红色填充?
最佳答案
使用 dc.DrawGeometry
创建填充形状。
编辑:这个:
private DrawingVisual CreateTriangle()
{
var triangle = new DrawingVisual();
using (DrawingContext dc = triangle.RenderOpen())
{
var start = new Point(0, 50);
var segments = new []
{
new LineSegment(new Point(50,0), true),
new LineSegment(new Point(50, 100), true)
};
var figure = new PathFigure(start, segments, true);
var geo = new PathGeometry(new [] { figure });
dc.DrawGeometry(Brushes.Red, null, geo);
var drawingPen = new Pen(Brushes.Black, 3);
dc.DrawLine(drawingPen, new Point(0, 50), new Point(50, 0));
dc.DrawLine(drawingPen, new Point(50, 0), new Point(50, 100));
dc.DrawLine(drawingPen, new Point(50, 100), new Point(0, 50));
}
return triangle;
}
附带说明一下,如果您无论如何都必须创建 PathGeometry
并且您使用了 DrawGeometry
,那么您也可以对它进行描边,那么您就不需要原始的线条图。
dc.DrawGeometry(Brushes.Red, new Pen(Brushes.Black, 3), geo);
关于c# - 在 DrawingContext 中绘制一个实心三角形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4732869/
我正在尝试从控件的左边缘到右边缘绘制图形的不同策略。到目前为止,我们一直在使用具有折线的“ Canvas ”,该折线执行的很好,但仍然可以进行一些改进。 当我尝试使用DrawingContext.Dr
这是我的矩形 protected void DrawRectangle(DrawingContext dc, Point point) { DrawingVis
我想劫持通常的 WPF 渲染以将控件拆分为基元,进行布局管理,为我应用绑定(bind)等。 据我所知,WPF 中的整个渲染归结为在布局管理器计算的位置使用依赖属性系统定义的值渲染图元(文本、图像、直线
我通过直接调用 DrawingContext 上的 DrawLine 来绘制图表。由于我想避免任何抗锯齿功能,因此我尝试将 SnapToDevicePixels=true 放在父 UIElement
有人知道是否有可能将 DrawingContext 保存或转换为 Geometry? 例如之后 using (DrawingContext dc = RenderOpen()) { dc.Dr
我在自定义 FrameworkElement 的 OnRender 方法中绘制图像。我也想画这个图像的阴影。我需要在代码中执行此操作,并且我不想使用 DropShadowBitmapEffect,因为
这是此 question 的跟进. 问题: 我正在尝试使用 DrawingContext 绘制一个实心三角形,它在 DrawingVisual 上呈现 目前,我已经成功地使用以下 C# 代码绘制了三角
所以我使用以下代码从输入表单中获取现有图像和文本,然后将输入表单中的文本放置到现有图像上并将其另存为新图像: using (FileStream output = new FileStream(mat
使用 DrawingContext 类,我已经能够使用 DrawRectangle() 方法成功地将装饰器添加到我的 adornedElement。 是否可以构造一个堆栈面板,其中包含文本框和图像 -
我在 WPF 应用程序中绘制图形,但使用 drawingContext.DrawLine(...) 绘制的线被绘制到子像素边界。 我可以通过创建 Line 对象让它们看起来不错,但我不想在每次视觉对象
这是我的第一个问题,但是我潜伏了很长时间。我将把它分成两部分,一部分解释我在做什么以及为什么我认为这是要走的路,第二部分是我自己无法解决的实际问题。 我在做什么? 我目前正在开发用于渲染旨在实时显示的
这个问题在这里已经有了答案: Set VerticalAlignment in DrawText (2 个回答) 关闭8年前. 我需要将文本垂直对齐到顶部或底部或中心。有 FormattedText.
我有几个由 WPF 形状基元组成的常用符号(例如矩形、直线、路径等)。这些符号当前作为用户控件存储在 xaml 文件中。例如:
下面的 WPF 程序会显示一个如下所示的窗口: 黑色方 block 外的鼠标移动会导致窗口标题随鼠标位置更新。当鼠标进入正方形时停止更新。 我希望 MouseMove 继续触发,即使鼠标在正方形上也是
看图。我希望中间线是一条清晰的 1 像素线。您可以将示例标记复制并粘贴到 kaxaml 中。 alt text http://img832.imageshack.us/img832/1704/line
当我画这样的东西时(这里只是随机画): public partial class MainWindow : Window { public MainWindow() {
有没有办法获取WriteableBitmap的DrawingContext(或类似的东西)? IE。允许您调用简单的 DrawLine/DrawRectangle/etc 类型的方法,而不是直接操作原
我有一个 Canvas,在 XAML 中应用了比例转换。使用 DrawingContext 我在 Canvas 上画线。我现在需要在屏幕上添加文本。我认为对于格式化文本我可以应用翻译,但格式化文本或
当我在我的 Canvas 对象(它扩展了 Canvas )上单击并拖动时,我正在绘制一个选择框。我已经像这样覆盖了 OnRender 方法: protected override void O
我有一个 TextBlock。我想在其中绘制(在其当前 视觉边界内)。我需要它的 DrawingContext。 如何获取 DrawingContext? (MSDN 说任何 FrameworkEle
我是一名优秀的程序员,十分优秀!