
- •Пространство имен System.Drawing
- •7 Сеансы вывода графики
- •8 Перехват события Paint
- •9 Метод Invalidate
- •11 Вывод графических объектов без события Paint
- •14Система координат. Альтернативные единицы измерения
- •Перенос начала координат
- •15 Цвет
- •18 Пространство имен System.Drawing.Drawing2d
- •19 Перечисления Drawing.Drawing2d
- •Кисти и краски
- •Паутина Безье
- •Событие Paint
14Система координат. Альтернативные единицы измерения
Значение |
Используемая единица измерения |
Display |
1/75 часть дюйма |
Document |
1/300 часть дюйма |
Inch |
Дюйм |
Millimeter |
|
Pixel |
Пиксел |
Point |
1/72 часть дюйма |
private void MainForm_Paint(object sender, PaintEventArgs e)
{
e.Graphics.PageUnit = GraphicsUnit.Inch;
e.Graphics.DrawRectangle(new Pen(Color.Red,5), 0,0,100,100);
}
Перенос начала координат
private void MainForm_Paint(object sender, PaintEventArgs e)
{
e.Graphics.PageUnit = GraphicsUnit.Point;
e.Graphics.TranslateTransforn(100,100);
e.Graphics.DrawRectangle(new Pen(Color.Red, 1), 0,0,100,100);
}
15 Цвет
Color c = Color.Magenta
Член |
Назначение |
FromArgb() |
Возвращает объект типа Color. Для него указываются числовые значения компонент |
FromKnownColor() |
Возвращает объект типа Color. Используются значения из перечисления |
FromName |
Возвращает объект типа Color. Используются строковые значения |
A, R, G, B |
Возвращают значения отдельных компонент |
IsNameColor(), Name |
Эти члены применяются к текущему объекту Color. Они позволяют определить, соответствует ли какому-либо из именованных цветов |
GetBrightness(), GetHue(), GetSaturation() |
Переход к другой цветосистеме (яркость, оттенок, насыщенность) |
ToArgb() |
Возвращает числовые значения ARGB для объекта Color |
ToKnownColor() |
Возвращает значение из перечисления KnownColor для объекта Color |
Класс ColorDialog
Находится в пространстве имен System.Windows.Forms
1. Создаем объект класса ColorDialog.
2. Открываем диалоговое окно для пользователя методом ShowDialog();
3. После выбора пользователем цвета, получаем объект Color c помощью свойства Dialog. Color.
public class ColorDlgForm: System.Windows.Forms.Form
{
//работаем с классом ColorDialog
private System.Windows.Forms.ColorDialog();
public ColorDlgForm()
{
colorDlg = new System.Windows.Forms. ColorDialog();
this.MouseUp += MouseEventHandler(this.ColorDlgForm_MouseUp);
}
private void ColorDlgForm_MouseUp(object sender, MouseEventsArgs e)
{
if (colorDlg.ShowDialog() != DialogResult.Cancel)
{
CurrColor = colorDlg.Color;
this.BackColor = CurrColor;
string strARGB = colorDlg.Color.ToString();
MessageBox.Show(strARGB, “ColorIs”);
}
}
}
16
Font myFont = new Font(«Times New Roman», 12, FontStyle.Bold |FontStyle.Underline);
17
private void MainForm_Paint(object sender, PaintEventArgs e)
{
Graphics g = e.Graphics;
FontFamily myFamily = new FontFamily("Verdana");
Font myFont = new Font(myFamily, 12);
int y = 0; // Эта переменная будет использоваться у нас для смещения по y
int fontHeight = myFont.Height; // Получаем высоту шрифта в пикселах
// Выводим информацию о единицах измерения, используемых для членов FontFamily
this.Text = "Measurements are in GraphicsUnit." + myFont.Unit.ToString();
g.DrawString("The Verdana family.", myFont, Brushes.Blue, 10, y);
y += 20;
// Выводим всю информацию о нашем семействе шрифтов
g.DrawString("Ascent for bold Verdana: " +
myFamily.GetCellAscent(FontStyle.Bold),
myFont, Brushes.Black, 10, y + fontHeight);
y += 20;
g.DrawString("Descent for bold Verdana: " +
myFamily.GetCellDescent(FontStyle.Bold),
myFont, Brushes.Black, 10, y + fontHeight);
y += 20;
g.DrawString("Line spacing for bold Verdana: " +
myFamily.GetLineSpacing(FontStyle.Bold),
myFont, Brushes.Black, 10, y + fontHeight);
y += 20;
g.DrawString("Height for bold Verdana: " + myFamily.GetEmHeight(FontStyle.Bold),
myFont, Brushes.Black, 10, y + fontHeight);
y += 20;
}