【问题标题】:line and opacity线条和不透明度
【发布时间】:2011-04-30 20:39:53
【问题描述】:

我想在 C# 中的控件上画一条不透明的线。

我用visual basic powerpacks shapecontrol尝试过这个。但我找不到任何设置不透明度的属性。

如何画一条不透明的线?

谢谢,

【问题讨论】:

  • 发布非工作代码是一个不错的起点。 wcf 与此有什么关系?你是说wpf吗?

标签: c# winforms opacity


【解决方案1】:

此代码将绘制两条半透明白线的十字。

WPF

<Window x:Class="WpfApplication1.Window1"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="Window1" Height="300" Width="300" Background="LightGray">
    <Grid>
        <Line X1="0" Y1="0" X2="100" Y2="100" Stroke="White" Opacity=".5" StrokeThickness="10" />
        <Line X1="0" Y1="100" X2="100" Y2="0" Stroke="White" Opacity=".5" StrokeThickness="10" />
    </Grid>
</Window>

Windows.Forms

var pen = new Pen(Color.FromArgb(128, 255, 255, 255), 10);
using (var g = CreateGraphics())
{
    g.DrawLine(pen, 0, 0, 100, 100);
    g.DrawLine(pen, 0, 100, 100, 0);
}

【讨论】:

    【解决方案2】:

    感谢您的帮助, 我找到了另一种不使用 WPF 的方法。

    C# wnidows 表单有 Opacity 属性,所以

    1. 创建一个覆盖窗口窗体的屏幕层。
    2. 通过将透明度键设置为与图层背景颜色相同的颜色,使屏幕图层透明。
    3. 在加载windows 窗体时,将图层的大小更改为与windows 窗体相同。
    4. 确保将屏幕层与窗体一起移动。
    5. 使用ShapeControl(Visual Basic Power Pack)或Graphic(如上面的答案)在图层上绘制任何形状。
    6. 设置不透明度 = 0.5

    【讨论】:

      猜你喜欢
      • 2013-01-02
      • 2012-07-23
      • 1970-01-01
      • 2011-08-18
      • 2022-08-23
      • 1970-01-01
      • 2023-03-09
      • 2015-04-28
      • 1970-01-01
      相关资源
      最近更新 更多