На страницах нашего онлайн портала alivahotel.ru мы расскажем много самого интересного и познавательного, полезного и увлекательного для наших постоянных читателей.
Практическое руководство. Создание графических объектов для рисования
прежде чем рисовать линии и фигуры, отображать текст или отображать изображения с помощью GDI+, необходимо создать Graphics объект. Graphicsобъект представляет GDI+ поверхность рисования, а — объект, используемый для создания графических изображений.
Работа с графикой состоит из двух этапов.
Использование Graphics объекта для рисования линий и фигур, отображения текста или отображения изображений и управления ими.
Создание графического объекта
Графический объект может быть создан различными способами.
Создание графического объекта
Вызовите CreateGraphics метод элемента управления или формы, чтобы получить ссылку на Graphics объект, представляющий поверхность рисования этого элемента управления или формы. Используйте этот метод, если требуется рисовать на форме или элементе управления, который уже существует.
Следующие разделы содержат сведения о каждом из этих процессов.
PaintEventArgs в обработчике событий Paint
получение ссылки на объект Graphics из PaintEventArgs в событии Paint
Вставка кода для заполнения формы или элемента управления.
В следующем примере показано, как ссылаться на Graphics объект из PaintEventArgs в Paint событии.
Метод CreateGraphics
Можно также использовать CreateGraphics метод элемента управления или формы для получения ссылки на Graphics объект, представляющий поверхность рисования этого элемента управления или формы.
Создание графического объекта с помощью метода CreateGraphics
Вызовите CreateGraphics метод формы или элемента управления, для которого требуется отобразить графические объекты.
Создание из объекта Image
Кроме того, можно создать графический объект из любого объекта, производного от Image класса.
Создание графического объекта из изображения
Вызовите Graphics.FromImage метод, указав имя переменной изображения, из которой нужно создать Graphics объект.
В следующем примере показано, как использовать Bitmap объект:
Рисование фигур и изображений и управление ими
После создания Graphics объект может использоваться для рисования линий и фигур, отображения текста или отображения изображений и управления ими. Объекты Principal, используемые с Graphics объектом:
PenКласс, используемый для рисования линий, структурирования фигур или визуализации других геометрических представлений.
BrushКласс, используемый для заливки областей графических объектов, таких как заполненные фигуры, изображения или текст.
FontКласс — содержит описание фигур, используемых при отрисовке текста.
ColorСтруктура — представляет различные отображаемые цвета.
Использование созданного объекта Graphics
Для рисования нужного объекта выполните действия с соответствующим объектом, приведенным выше.
Урок из серии «Программирование на Visual Basic.NET для школьников»
Здравствуйте, дорогой читатель. В этом уроке мы начнем изучать графические методы языка программирования Visual Basic.Net, которые позволяют создавать рисунки на форме или элементах управления.
Графические методы языка программирования Visual Basic.Net существенно отличаются от графических операторов предшествующей версии Visual Basic 6. Теперь для создания рисунка вы должны непосредственно использовать графические службы GDI+, доступные через пространство имен System.Drawing.
На этом уроке вы узнаете, как создать объекты Graphics (Область рисования), Реn (Перо) и Brush (Кисть), необходимые для рисования.
Прежде чем использовать графические методы класса System.Drawing.Graphics для рисования примитивных фигур, вы должны в вашем коде создать объекты Graphics (Область рисования), Реn (Перо) и Brush (Кисть).
Первый способ состоит в использовании метода CreateGraphics() формы или элемента управления, на котором надо отобразить графику. Например, создадим объект Graph1 типа Graphics, а затем укажем определенный элемент управления в качестве области рисования. Обычно в качестве области рисования выбирается размещенное на форме графическое поле (например, PictureBox1):
Второй способ используется для создания растрового изображения, которое можно сохранить как графический файл. Сначала необходимо объявить создание растрового изображения Image1 определенного размера, затем объявить создание объекта Graph1 типа Graphics из растрового изображения Image1 и, наконец, присвоить свойству Image формы или элемента управления (например, PictureBox1.Image)значение Image1.
Третий способ использует событие Paint формы или элемента управления, которое происходит при их создании или обновлении. В обработчике этого события одним из аргументов является e типа System.Windows.Forms.PaintEventArgs. В программном коде обработчика события можно объявить создание объекта Graph1 типа Graphics как свойства аргумента e.
Затем, если необходимо, можно установить новые значения цвета и ширины линии, например:
Если необходимо, можно будет поменять цвет закраски (например, на пурпурный):
Объект Brush передается как аргумент в методы, которые выполняют цветную заливку.
Объекты Pen, Brush и Graphics потребляют системные ресурсы. Поэтому, после окончания их использования, необходимо всегда вызывать Dispose()
Выбор цвета
Цвет устанавливается как значение свойства Color. Можно установить цвет с использованием нескольких десятков цветовых констант. Ниже приведены примеры установки зеленого цвета для объекта Pen1 (перо) и желтого цвета для объекта Brush1 (кисть).
Для установки цвета в 24-битовой палитре цветов RGB используется метод Color.FromArgb(Red, Green, Blue), аргументами которого являются три числа в диапазонах от 0 до 255 (интенсивность красного, зеленого и синего цветов). Например, так можно установить пурпурный цвет для кисти Brush1.
Цвет пера или кисти можно установить и с использованием элемента управления ColorDialog, для этого данный элемент управления необходимо поместить на форму и вести в программный код следующие строки:
После заполнения первой строки программного кода появится диалоговое окно Цвет. Вторая строка программного кода присваивает перу цвет, который можно выбрать в диалоговом окне Цвет с помощью мыши из палитры 48 основных цветов.
В этом уроке вы узнали, как создать объекты Graphics (Область рисования), Реn (Перо) и Brush (Кисть), необходимые для рисования, как выбрать цвет.
На следующем уроке мы познакомимся с графическими методами для рисования геометрических фигур.
Ядром программирования GDI+ является класс System.Drawing.Graphics. Класс Graphics инкапсулирует поверхность рисования GDI+, будь то окно, печатный документ или хранящееся в памяти растровое изображение. Разработчикам ASP.NET редко приходится рисовать окна или печатные документы, поэтому в веб-приложениях наибольшее применение находит последняя из названных возможностей.
Чтобы использовать GDI+ в среде ASP.NET, необходимо выполнить следующие четыре действия:
Создать хранящееся в памяти растровое изображение, в котором будет выполняться все рисование.
Создать графический контекст GDI+ для изображения. Выполнение этого действия предоставит экземпляр объекта System.Drawing.Graphics.
Выполнить рисование с помощью методов экземпляра объекта Graphics. Эти методы позволяют рисовать и закрашивать линии и формы, а также копировать содержимое растрового изображения из существующих файлов.
Записать изображение в браузер с помощью свойства Response.OutputStream.
В последующих разделах приводится несколько примеров веб-страниц, в которых используется GDI+. Прежде чем продолжить, удостоверьтесь в том, что импортированы следующие пространства имен:
В пространстве имен System.Drawing определены многие из основополагающих ингредиентов рисования, в том числе перья, кисти и растровые изображения. Пространство имен System.Drawing.Drawing2D добавляет другие полезные нюансы, такие как весьма гибкий класс GraphicsPath, а пространство имен System.Drawing.Imaging включает в себя пространство имен ImageFormat, позволяющее выбирать формат графики, в котором растровое изображение будет визуализировано при отправке клиенту.
Простое рисование
В следующем примере демонстрируется простейшая страница GDI+. Вся необходимая работа выполняется в обработчике события Page.Load.
Прежде всего, нужно построить хранящееся в памяти растровое изображение, создав экземпляр класса System.Drawing. Bitmap. При создании этого объекта в аргументах конструктора потребуется указать высоту и ширину изображения в пикселях. Размер изображения должен быть как можно меньшим. Крупные растровые изображения будут не только потреблять больше дополнительной памяти сервера во время выполнения, но возрастет также и размер визуализированного содержимого, отправляемого клиенту, что замедлит передачу данных.
Затем нужно создать графический контекст GDI+ изображения, представленный объектом System.Drawing.Graphics. Методы этого объекта позволяют выполнять рисование в хранящемся в памяти растровом изображении. Чтобы создать объект Graphics из объекта Bitmap, используйте статический метод Graphics. FromImage().
Теперь начинается самое интересное. С помощью методов класса Graphics в растровом изображении можно нарисовать текст, формы и изображения. В этом примере код рисования чрезвычайно прост. Он заполняет графический элемент сплошным белым фоном, используя метод FillRectangle() объекта Graphics. (Первоначально в новом растровом изображении каждый пиксель устанавливается в черный цвет.)
Рамка толщиной в 1 пиксель оставлена незаполненной. В результате отображается тонкая рамка исходного черного цвета. Следующий фрагмент кода рисования визуализирует сообщение статической метки. Для этого создается объект System.Drawing. Font, представляющий используемый шрифт. Этот объект не следует путать с объектом FontInfo, который применяется с элементами управления ASP.NET для указания запрошенного кода веб-страницы. В отличие от FontInfo, объект Font представляет один конкретный шрифт (включая его гарнитуру, размер и стиль), установленный на текущем компьютере. При создании объекта Font нужно указать имя шрифта, его размер в пунктах и стиль, например:
Поскольку это изображение генерируется на сервере, при его создании можно использовать любой шрифт, установленный на сервере. Клиенту не обязательно иметь этот же шрифт, поскольку он получает текст в виде визуализированного изображения.
Для визуализации текста служит метод DrawString() объекта Graphics. Как и в случае объекта FillRectangle, понадобится указать координаты точки, с которой должно начинаться рисование. Эта точка представляет верхний левый угол текстового блока. В данном случае используется точка (10, 5), что ведет к смещению текста на 10 пикселей от левого края и на 5 пикселей от верхнего края экрана:
Как только изображение готово, его можно оправить браузеру методом Bitmap. Save(). Изображение сохраняется в потоке ответа браузера. Оно отправляется клиенту и отображается в браузере. При записи непосредственно в поток ответа, как в данном примере, изображение заменяет любые другие данные веб-страниц и обходит модель веб-элемента управления:
Изображение можно сохранить в любой допустимый поток, включая FileStream. Эта технология позволяет сохранять динамически генерируемые изображения на диске, чтобы впоследствии их можно было использовать в других веб-страницах.
И, наконец, необходимо вызвать метод Dispose() для изображения и контекста графики, как показано ниже. И изображение, и контекст графики опираются на неуправляемые ресурсы, которые не могут быть освобождены немедленно, и при генерации большого объема изображений загруженность ресурсов может влиять на производительность сервера:
Чтобы сэкономить время можно использовать операторы using для классов реализующих IDisposable. Ниже показано сохранение графики в файл и отображение ее в элементе Image:
Формат и качество изображения
Сглаживание устраняет контурные неровности форм и текста. Оно действует за счет добавления текстурирования по границе края. Например, текстурирование полутонами может добавляться к краю черной кривой, придавая углу более гладкий вид.
Наиболее наглядно сглаживание проявляется при отображении кривых. Это означает, что оно существенно улучшает внешний вид эллипсов, окружностей и дуг, но никак не сказывается на прямых линиях, квадратах и прямоугольниках:
Сглаживание можно применять также к шрифтам, чтобы сгладить ступенчатость краев текстовых элементов. Чтобы гарантированно получить оптимизированный текст, можно установить свойство Graphics. TextRenderingHint. Для выбора доступны значения SingleBitPerPixelGridFit (наивысшая производительность и самое низкое качество), AntiAlias (хорошее качество благодаря сглаживанию), AntiAliasGridFit (более высокое качество благодаря сглаживанию и выводу подсказок, но более низкая производительность) и ClearTypeGridFit (наивысшее качество на жидкокристаллическом дисплее).
Или же можно использовать значение SystemDefault, чтобы применять любые настройки сглаживания шрифта, сконфигурированные пользователем. Настройка SystemDefault является настройкой по умолчанию, а системные настройки по умолчанию большинства компьютеров включают функцию сглаживания текста. Даже если эта настройка не установлена, как правило, динамически визуализированный текст будет рисоваться в высоком качестве. Однако, поскольку управление системными настройками веб-сервера возможно не всегда, если нужно рисовать текст в изображении, рекомендуется указывать эту настройку явно.
Класс Graphics
Класс Graphics также предоставляет методы для рисования определенных видов форм, изображений и текста. Эти методы кратко описаны в таблице ниже:
Методы рисования класса Graphics
Метод
Описание
DrawArc()
Рисует известную кривую Безье, которая определяется четырьмя опорными точками
Рисует кривую, а затем замыкает ее, соединяя конечные точки
Рисует кривую (которая формально представляет собой фундаментальный сплайн)
Рисует значок, представленный объектом Icon, и (необязательно) растягивает его до размеров данного прямоугольника
Рисует изображение, представленное полученным из изображения объектом (например, Bitmap, который был загружен из файла), и растягивает его, чтобы оно соответствовало прямоугольной области
Рисует изображение, представленное полученным из изображения объектом, без масштабирования, и (необязательно) усекает его, чтобы оно соответствовало указанной прямоугольной области
Рисует одну или более линий. Каждая линия соединяет две точки, указанные парами координат
Рисует объект GraphicsPath, который может представлять комбинацию кривых и форм
Рисует многоугольник, определенный массивом точек
Рисует один или более прямоугольников. Каждый прямоугольник определяется парой координат начальной точки, шириной и высотой
Заливает внутреннюю часть одного или более прямоугольников
Если требуется создать форму, обладающую контуром одного цвета и заливкой другого цвета, методы рисования и заливки должны использоваться совместно. Следующий пример вначале закрашивает белый прямоугольник, затем добавляет окружающую его зеленую границу:
При указании координат, находящихся вне области рисования, исключение не будет генерироваться, но содержимое, выходящее за край этой области, не будет отображаться в конечном изображении. В некоторых случаях это может приводить к отображению части формы (что, возможно, и требуется в конкретной ситуации).
Обратите внимание, что при использовании метода заливки придется указать объект кисти Brush. При использовании метода рисования нужно указать объект пера Pen. В приведенном примере код использует предварительно созданные объекты Pen и Brush, которые можно получить соответственно из классов Pens и Brushes. Кисти, полученные подобным образом, всегда соответствуют сплошным цветам, а перья всегда имеют ширину равную 1 пикселю.
Используя описанные методы, легко создать простую веб-страницу, которая рисует более сложное изображение GDI+. В следующем примере класс Graphics применяется для рисования эллипса, текстового сообщения и изображения, полученного из файла. Необходимый для этого код имеет следующий вид:
Результирующая веб-страница показана на рисунке ниже:
Использование класса GraphicsPath
Класс GraphicsPath инкапсулирует последовательность связанных линий, кривых и текста. Чтобы построить объект GraphicsPath, необходимо создать новый экземпляр этого класса и с помощью перечисленных в таблице ниже методов добавить все необходимые элементы:
Методы класса GraphicsPath
Метод
Описание
AddArc()
Рисует известную кривую Безье, определенную четырьмя опорными точками
Рисует кривую, а затем замыкает ее, соединяя конечные точки
Рисует кривую (которая формально представляет собой фундаментальный сплайн)
Рисует линию, которая соединяет две точки, указанные парами координат
Добавляет другой объект GraphicsPath к данному объекту GraphicsPath
Рисует многоугольник, определенный массивом точек
Рисует обычный прямоугольник, определенный парой координат начальной точки, шириной и высотой
Рисует строку текста данным шрифтом
Применяют, соответственно, матричную трансформацию, деформирующую трансформацию (определенную прямоугольником и параллелограммом) и расширение
Метод StartFigure() определяет начало новой замкнутой фигуры. При использовании метода CloseFigure() начальная точка будет соединена с конечной точкой дополнительной линией
Кроме того, можно также создать сплошную, залитую фигуру из отдельных линейных сегментов. Для этого вначале нужно вызвать метод StartFigure(). Затем с использованием соответствующих методов понадобится добавить необходимые кривые и линии. По окончании этого процесса должен быть вызван метод CloseFigure(), чтобы замкнуть форму линией, нарисованной от конечной точки до начальной точки. Эти методы можно использовать многократно, чтобы добавить несколько замкнутых фигур в один объект GraphicsPath.
Перья (Pen)
При использовании методов Draw. () из класса Graphics рисование границы формы или кривой выполняется предоставленным объектом Pen. Стандартное перо можно получить, используя одно из статических свойств класса System.Drawing.Pens. Все эти перья имеют ширину в 1 пиксель и различаются только цветом. Чтобы сконфигурировать все свойства, описанные в таблице ниже, можно создать специальный объект Pen. Например:
Определяет стиль пунктира для прерывистых линий, используя массив чисел и пробелов
Определяет стиль пунктира для прерывистых линий, используя перечисление DashStyle
Определяет способ присоединения соединяющих линий в форме
Определяет тип заливки, которая будет использоваться для линии. Обычно им будет SolidColor, но можно использовать также градиентную заливку, растровую текстуру или штриховой узор, предоставляя соответствующий объект кисти при создании пера. Однако с помощью этого свойства нельзя установить тип PenType, поскольку оно доступно только для чтения
Определяет способ визуализации начала и конца линии. Можно также определить специальное окончание линии, создавая объект CustomLineCap (обычно посредством использования GraphicsPath), а затем присваивая его свойству CustomStartCap или CustomEndCap
Определяет ширину (в пикселях) линий, рисуемых этим пером
Простейший способ понять различные свойства LineCap и DashStyle заключается в создании тестовой страницы, которая перечисляет различные варианты. Следующий код веб-страницы создает именно такой рисунок:
Кисти (Brush)
Кисти служат для заливки пространства между линиями. Кисти используются при рисовании текста или при вызове любого из методов Fill. () класса Graphics для закрашивания внутренней части форма. Заранее определенную стандартную сплошную кисть можно быстро получить через статическое свойство класса Brushes. Можно также создавать специальные кисти. Простые сплошные кисти создаются из класса SolidBrush, а более сложные кисти доступны посредством других классов:
HatchBrush
Кисть HatchBrush имеет цвет переднего плана, цвет фона и стиль штриховки, который определяет способ объединения этих цветов. Как правило, цвета вкрапляются с помощью полос, сеток или точек, но можно выбрать и необычные стили узора, такие как кирпичи, конфетти, плетение и черепица.
LinearGradientBrush
Кисть LinearGradientBrush позволяет смешивать два цвета, создавая градиентный узор. Можно выбрать любые два цвета (как и при использовании штриховой кисти), а затем смешать их по горизонтали (слева направо), по вертикали (сверху вниз), по диагонали (от верхнего левого угла до нижнего правого угла) или по диагонали в обратном направлении (от верхнего правого угла до нижнего левого угла). Можно указать также начальную точку для любой стороны градиентной заливки.
TextureBrush
Кисть TextureBrush присоединяет растровое изображение к кисти. Изображение размещается в виде плитки в закрашенной части кисти, будь то текст или простой прямоугольник.
Ниже приведен пример логики рисования для тестирования всех стилей кисти LinearGradientBrush:
Создать экземпляр класса Graphics для метода в своём классе
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Получить адрес метода в классе через экземпляр класса Здравствуйте знатоки! Прошу помощи. Переношу один проэкт с скриптового языка питон на обжпаскаль и.
Создать экземпляр метода класса или доступ к методу из экземпляра класса Всем доброго времени суток!) Уже месяца как 2 не сишарпил и подзабыл. собственно задача такая.
Как правильно создать экземпляр класса в классе контроллере Давайте все объясню. Это пока что просто тест класса (FTPCClient) через Controller, который я.
Как создать экземпляр внутреннего класса в родительском классе Как создать экземпляр этого класса в статическом методе main. public class Parent < class.
я вам дам полезный совет(даже 2): необижайтесь.. но лучше больше никогда не пишите такой код как у вас идет начиная от метода pictureBox1_Paint(). для начало разберитесь, что такое ООП и с чем его едят, потом разберить с особенностями ооп в c#. ибо c# это чисто обьекто ориентированый язык програмирования. без минимальных знаний ооп в c# далеко не заедите. разберитесь что такое статические классы имхо. ооп это еще далеко не просто обявление класса с методами и полями. еще вам не помешает разобратся с областью видимости переменных.
Добавлено через 20 минут
Работа с классами (в главном классе создать указатель на экземпляр другого класса) Недавно начал изучение С++, в частности ООП. В связи с чем у меня есть вопрос как в главном классе.
Как правильно использовать экземпляр PDO в своём классе? Читал тему, но приведенный вариант в самом конце не подходит. Поэтому вынес подключние к базе в.
Создать экземпляр одного класса в Main, и передать его в экземпляр другого класса Добрый день. Подскажите пожалуйста. есть несколько классов-файлов в одном пакете. class one.
4.13.2. Графика в языке программирования Turbo Delphi
4.13.3. Компьютерная и математическая системы координат
4.13.4. Анимация
Объект Graphics (Область рисования)
Интегрированная система программирования Visual Studio для создания рисунков, рисования текста и отображения графических изображений на формах и элементах управления использует GDI (Graphics Device Interface — графический интерфейс устройств).
Объект Graphics (Область рисования). Для использования GDI сначала необходимо создать область рисования, т. е. объект Graphics. Объект Graphics можно создать тремя различными способами.
Первый способ состоит в использовании метода CreateGraphics () формы или элемента управления, на котором надо отобразить графику. Например, создадим объект Graph1 типа Graphics для графического поля PictureBox1.
Языки Visual C# и Visual J#: Graphics Graphl = pictureBoxl. CreateGraphics ( );
Второй способ используется для создания растрового изображения, которое можно сохранить как графический файл. Сначала необходимо объявить создание растрового изображения Image1 определенного размера, затем объявить создание объекта Graph1 типа Graphics из растрового изображения Image1 и, наконец, присвоить свойству Image формы или элемента управления (например, PictureBox1. Image) значение Image1.
Язык Visual J#: Bitmap image1 = new Bitmap(200,200); Graphics Graph1 = Graphics.FromImage(image1); pictureBox1.set_Image(image1);
Третий способ использует событие Paint формы или элемента управления, которое происходит при их создании или обновлении. В обработчике этого события одним из аргументов является е типа System.Windows.Forms.PaintEventArgs. В программном коде обработчика события можно объявить создание объекта Graph1 типа Graphics как свойства аргумента е.
Язык Visual Basic NET: Private Sub FictureBox1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms. PaintEventArgs) Handles PictureBox1.Paint Dim Graphl As Graphics = e.Graphics End Sub
Перо. Объект Реn (Перо) определяет цвет и ширину линии рисования. В разделе объявления переменных необходимо определить имя объекта (например, Pen1), установить цвет (например, красный Color. Red) и ширину линии в пикселях (например, 3).
Язык Visual C#: Pen Pen1 = new Pen (Color.Red, 3);
Язык Visual J#: Pen Pen1 = new Pen (Color.get_Red(), 3);
Кисть. Объект Brush (кисть) определяет цвет и стиль закрашивания прямоугольников, окружностей и других замкнутых фигур. В разделе объявления переменных необходимо определить имя объекта (например, Brush1) и установить тип закраски и цвет (например, сплошная закраска синего цвета SolidBrush (Color.Blue)).
Язык Visual Basic NET: Dim Brush1 As New SolidBrush(Color.Blue)
Язык Visual C#: SolidBrush Brushl = new SolidBrush(Color.Blue);
Язык Visual J#: SolidBrush Brush1 = new SolidBrush(Color.get_Blue( ));
Цвет. Цвет устанавливается как значение свойства Color. Можно установить цвет с использованием нескольких десятков цветовых констант. Ниже приведены примеры установки зеленого цвета для объекта Pen1 (перо) и желтого цвета для объекта Brush1 (кисть).
Язык Visual J#: Pen1.set_Color (Color.get_Green ()); Brush1. set_Color (Color.get_Yellow());
Для установки цвета в 24-битовой палитре цветов RGB используется метод Color. FromArgb (Red, Green, Blue), аргументами которого являются три числа в диапазонах 0 до 255 (интенсивности красного, зеленого и синего цветов). Например, так можно установить пурпурный цвет для кисти Brush1.
Язык Visual J#: Brush1.set_Color(Color.FromArgb(255,0,255));
Цвет пера или кисти можно также установить с использованием элемента управления ColorDialog. Для этого данный элемент управления необходимо поместить на форму и ввести в программный код следующие строки:
Язык Visual J#: colorDialog1.ShowDialog( ); Pen1.set_Color(ColorDialog1.get_Color( ));
После выполнения первой строки программного кода появится диалоговое окно Цвет (рис. 4.32). Вторая строка программного кода присваивает перу цвет, который можно выбрать в диалоговом окне Цвет с помощью мыши из палитры 48 основных цветов. После щелчка по кнопке Определить цвет в раскрывшемся диалоговом окне цвет можно выбрать из полной палитры 16 777 216 цветов, а также установить путем ввода в текстовые поля интенсивностей базовых цветов в системе цветопередачи RGB или оттенка, контрастности и яркости в системе цветопередачи HSB.
Рис. 4.32. Диалоговое окно Цвет
Следующая страницаГрафические методы. Рисование текста