Mineodo68 Ответов: 1

Как я могу drawstring с пользовательским цветом C# ?


Привет,
Я новичок в C# и пытаюсь нарисовать строку с пользовательским цветом (используя Windows Forms и System Drawing).

Я уже знаю, как изменить цвет, но ТОЛЬКО используя цвета по умолчанию C#. Я могу нарисовать форму, полигон или что-то в этом роде с помощью пользовательского цвета RGB (Color.FromARGB), но я не знаю, как это сделать с помощью шнурка.

Это пример строки, которую я хочу нарисовать с помощью пользовательского цвета RGB :

г. шнурок("тест", шрифт, кисти.Черный, новая точка(50, 50);


Большое спасибо.
Флоран

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

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

1 Ответов

Рейтинг:
6

Mineodo68

Да, но это только для заполнения или рисования фигур, а не шрифта...

Richard MacCutchan

Вы действительно читали страницу, на которую я ссылался выше? Особенно ссылка внизу под названием "Использование кисти для заливки фигур".

Mineodo68

Собственно что я и сделал. Я не уверен, что вы действительно поняли, что я искал. Мне нужно заполнить строку пользовательским цветом RGB, а не формой.

Richard MacCutchan

Ваш комментарий выше ясно гласит:, - это только для того, чтобы заполнить или нарисовать фигуры".

Может быть, если вы покажете свой реальный код и объясните, что именно происходит, мы сможем попытаться сделать некоторые предложения.

Mineodo68

Это недоразумение, я сказал, что то, что вы дали мне, было заполнением или рисованием фигур, и я искал что-то, чтобы настроить цвет шрифта

Richard MacCutchan

Есть несколько способов создать цветную кисть, см. Класс Кисти (System.Чертеж) | Microsoft Docs[^].

phil.o

Нет, кисть-это то, что управляет цветом, для всего, что нарисовано на бумаге. Graphics объект. Для шрифтов не существует специального случая.
Пожалуйста, покажите, что вы пробовали конкретно, и мы, возможно, сможем помочь вам в дальнейшем.

Mineodo68

Например, я называю свой шрифт :
RegularFont шрифт = новый шрифт("Футура ЛТ про" книги, размер шрифта, свойство fontstyle.Обычный, GraphicsUnit.Pixel);

После этого я использую шнурок :
г. Шнурок("е" + переменная, regularFont, кисти.DeepSkyBlue, новая точка(x1, x2));

Но мне нужен определенный цвет RGB для моей строки ("E" + переменная).

Я пытался это сделать :
г. Шнурок("е" + переменная, regularFont, кисти.ColorFromArgb(77, 183, 255), новая точка(x1, x2));
но это не работает (я могу только добавить цвет Visual Studio по умолчанию после Brushes.defaultcolorname)

У меня также есть ручка с пользовательскими цветами, но я не могу использовать их с шнурком : Pen lightBlue = new Pen(Color.FromArgb(77, 183, 255), 1);

phil.o

Brush brush = new SolidBrush(Color.FromArgb(77, 183, 255));
g.DrawString($"E{variable}", regularFont, brush, new Point(x1, x2));
следует записывать с соответствующим цветом. Если это не так, пожалуйста, объясните, что на самом деле означает "не работает".

Richard MacCutchan

Как я уже упоминал ранее, вам нужно создать реальный объект кисти (сплошной, штрихованный, градиентный и т. д.) с выбранным вами цветом. Затем вы используете эту кисть в своем призыве к DrawString Все это четко изложено в документации MSDN.

Mineodo68

Это работает ! Не ожидал, что это может быть так просто.)
Большое спасибо ! :)