линия и непрозрачность - PullRequest
       5

линия и непрозрачность

0 голосов
/ 26 октября 2010

Я хотел бы нарисовать непрозрачную линию на элементе управления в c #.

Я пробовал это с помощью Shapecontrol Visual Basic Powerpacks .. но я не смог найти какие-либо свойства, которые устанавливают непрозрачность.

Как нарисовать непрозрачную линию?

Спасибо,

Ответы [ 2 ]

1 голос
/ 26 октября 2010

Этот код нарисует крест из двух полупрозрачных белых линий.

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);
}
0 голосов
/ 27 октября 2010

Спасибо за вашу помощь, Я нашел другой путь без использования WPF.

Форма Cn wnidows имеет свойство Opacity, поэтому

  1. Создайте слой экрана, который покрывает форму окон.
  2. сделать слой экрана прозрачным, установив прозрачность для ключа того же цвета, что и цвет заднего слоя.
  3. когда загружается форма окна, измените размер слоя так, чтобы он совпадал с формой окна.
  4. не забудьте переместить слой экрана вместе с формой окна.
  5. Нарисуйте любые формы на слое, используя ShapeControl (Visual Basic Power Pack) или Графика, как ответ выше.
  6. установить непрозрачность = 0,5
...