Реализация ветровых зазубрин в C# Windows FormsC#

Место общения программистов C#
Anonymous
Реализация ветровых зазубрин в C# Windows Forms

Сообщение Anonymous »

Я ищу лучший способ рисовать или отображать колючки ветра и использую для своего проекта C# Windows Forms.
В этом проекте я пытался использовать погодные шрифты ESRI. Но проблема заключалась в том, что я не мог разместить шрифт на нужном месте, а его вращение приводило к путанице.
Изображение

На изображении я использовал шрифт, в котором конец символа должен находиться на пересечении линии, но я не мог этого сделать. Изображение на стороне, помеченной как правильное, — это именно то, что мне нужно. Конец маркера шрифта находится на пересечении и не перемещается при изменении угла.

Код: Выделить всё

int _rotcount = 0;
int _rotlog = 80;

private void button2_Click(object sender, EventArgs e)
{
Font fn = new Font("ESRI Weather", 40,FontStyle.Bold);
string text = ((char)0227).ToString();
Graphics gr = PnlBase.CreateGraphics();
GraphicsState st = gr.Save();
gr.ResetTransform();

if (_rotcount > 0)
{
_rotlog += 10;
gr.RotateTransform(270);
_rotcount++;
}
else
{
_rotlog += 10;
gr.RotateTransform(180);
_rotcount++;
}

gr.TranslateTransform((float)55, (float)50,MatrixOrder.Append);

Pen blackPen = new Pen(Color.Black, 3);

using (StringFormat sf = new StringFormat())
{
sf.Alignment = StringAlignment.Center;
sf.LineAlignment = StringAlignment.Center;
gr.DrawString(text, fn, new SolidBrush(Color.Black), 0, 0, sf);
}

gr.Restore(st);
}
Другими методами, которые я искал в Интернете, было использование изображений SVG, но, конечно, я не нашел бесплатного источника этих изображений.
Если у вас есть для меня идея или решение, буду благодарен за сотрудничество.


Подробнее здесь: https://stackoverflow.com/questions/787 ... dows-forms

Вернуться в «C#»