SuperMiQi Ответов: 2

Есть ли у кого-нибудь фрагмент кода C# для символа молнии ?


Всем Привет,

Я ищу небольшой фрагмент кода c#, чтобы нарисовать символ молнии.
Чтобы дать вам представление, я ищу код для генерации такого рода изображений: удар молнии.

Даже незаполненный символ молнии был бы великолепен.

Заранее Вам большое спасибо.

С уважением.
Мики

Что я уже пробовал:

Я создал изображение (png), но изменение размера фигуры не очень приятно, когда я рисую его поверх графического поля.

Использование drawline, ... даст лучший результат.

#realJSOP

Что является символом thunderlight"? Вы случайно не имеете в виду "удар молнии"?

SuperMiQi

Это верно, я изменил название. Спасибо.

2 Ответов

Рейтинг:
16

Dave Kreskowiak

Серьезно? Вы хотите, чтобы кто-то генерировал координаты для 7 точек для вас?

Как насчет этого? Вы их генерируете. Это очень просто.

Возьмите лист бумаги, карандаш и линейку. Нарисуйте свою форму молнии на бумаге. Измерьте ширину фигуры. Верхний левый угол будет равен 0,0. Верхний правый будет равен 0,1. Для любых точек между ними они будут равны проценту 1. Если нужная вам точка находится на полпути между 0 и 1, то эта точка в верхней части фигуры будет равна 0,0.5.

Сделайте то же самое для высоты. На полпути вниз по фигуре, на дальнем левом краю, будет 0,5,0.

Но я слышу, как вы спрашиваете: "почему значения между 0 и 1?" Это потому, что вы можете масштабировать свое изображение до любого размера, просто умножив ширину и высоту изображения, которое вы хотите, на значения, которые вы сгенерировали для каждой точки, чтобы получить масштабированную точку.


SuperMiQi

Спасибо.
Я справлюсь с этим сам, благодаря вашим великим усилиям.

SuperMiQi

Я думал, что есть волшебный способ создать его из вставки изображения сверху с прозрачностью. Но, может быть, это метод рисования самый быстрый способ.

Maciej Los

Мне очень нравятся такие "намеки"!
5ed!

Рейтинг:
1

BillWoodruff

Как этот 🗲 или вот этот 🗱 или 🌩 ... это символы шрифта Windows Webdings: [^]. Вы можете легко масштабировать их, сделать снимок экрана, а затем создать ... что угодно.

Или, вы можете взять элемент управления Label, который является символом, установить цвет фона на прозрачный, а затем установить его 'родителей 'элемент управления PictureBox, а затем установить расположение его в элемент управления PictureBox координаты:

в конструкторе:

// label1
            // 
            this.label1.AutoSize = true;
            this.label1.BackColor = System.Drawing.Color.Transparent;
            this.label1.Font = new System.Drawing.Font("Webdings", 48F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(2)));
            this.label1.ForeColor = System.Drawing.Color.Red;
            this.label1.Location = new System.Drawing.Point(121, 229);
            this.label1.Name = "label1";
            this.label1.Size = new System.Drawing.Size(93, 65);
            this.label1.TabIndex = 10;
            this.label1.Text = "~";
В форме ';Load event:
label1.Parent = pictureBox1;
label1.Location = new Point(20,20);


Maciej Los

Довольно интересная идея, Билл!

SuperMiQi

Огромное спасибо.
Я был почти уверен, что что-то прямое должно существовать.
Это именно то, что я ищу.

BillWoodruff

@SuperMiQi всегда пожалуйста. Я добавил пример того, как вы можете получить метку с этим символом, чтобы она появилась поверх изображения PictureBox с прозрачным фоном.

SuperMiQi

Спасибо тебе оооочень много Билл. Вы приносите хорошие чаевые.