Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ІК (Говорущенко) Методичка.doc
Скачиваний:
6
Добавлен:
23.02.2016
Размер:
762.88 Кб
Скачать

Інструменти малювання

Методи, відображення об'єкту Graphics використовують перо або пензль заданого кольору, товщини, стилю і деякі інші об'єкти.

Об'єкт Color і його методи. Об'єкт Color зберігає 32-розрдяне значення кольору. Колір задають за допомогою чотирьох 8-розрядних компонент: alpha, red, green, blue. Компоненти приймають значення від 0 до 255. Компоненти red, green, blue описують інтенсивність відповідно червоного, зеленого і синього кольорів. Параметрalphaзадає ступніь прозорості кольору (0 - повністю прозорий колір, 255 - непрозорий колір). Екземпляр об'єкту Color створю один з наступних конструкторів: Сolor(), Color(a,r,g,b), Color(argb), Color(r,g,b).

Методи:

  • GetA, GetB, GetG i GetR повертають значення відповідно компонент alpha, blue, green i red об'єкту Color.

  • GetValue повертає ARGB-значення кольору об'єкту Color.

  • MakeARGB створює 32-розрядне ARGB-значення кольору об'єкту Color.

  • SetValue встановлює ARGB-значення кольору об'єкту Color.

  • SetFromCOLORREF використовує значення типу COLORREF для встановлення ARGB-значення кольору об'єкту Color.

  • ToCOLORREF перетворює ARGB-значення кольору об'єкту Color в GDI COLORREF-значення.

Об'єкт Pen і його методи. Об'єктPen(перо) використовують для малювання ліній і прямокутників.Він має два конструктори - Pen(brush,width) i Pen(color,width). Параметр width за замовчуванням дорівнює 1.0. Перший конструктор створює об'єкт Pen, який для малювання ліній використовує пензль brush і товщину ліній

Width. Другий конструктор створює об'єкт Pen кольору color і товщини ліній width.

Методи:

  • Clone-створює копію об'єкту Pen і повертає вказівник на створений об'єкт.

  • GetAlignment - повертає значення використовуваного об'єктом Pen стилю вирівнювання.

  • GetBrush - повертає вказівник на використовуваний об'єктом Penпензль.

  • GetColor - записує в зімнну color значення кольору об'єкту Pen.

  • GetCompoundArray - записує в масив compoundArray масив даних складової прямої лінії об'єкту Pen.

  • GetCompoundArrayCount - повертає кількість елементів в масиві складової прямої.

  • GetCustomEndCap - обирає вказівник на потчоний об'єкт CustomLineCap, який малює завершення об'єкту Pen.

  • GetCustomStartCap - обирає вказівник на поточний об'єкт CustomLineCap, який малює початок об'єкту Pen.

  • GetDashCap - повертає стиль рисочки об'єкту Pen.

  • GetDashOffset - повертає відстань від початку штрихової лінії до першого пробілу.

  • GetDashPattern - обирає масив з count даних dashArray штрихової лінії об'єкту Pen.

  • GetDashPatternCount - повертає кількість елементів штрихової лінії.

  • GetDashStyle - повертає стиль рисочок штрихової лінії об'єкту Pen.

  • GetEndCap - повертає стилькінця лінії об'єкту Pen.

  • GetLastStatus - повертає статус завершення останнього виклику деякого методу об'єкту Pen.

  • GetLineJoin - повертає стиль з'єднання ліній об'єкту Pen.

  • GetMitterLimit - повертає величину, яка обмежує область з'єднань ліній.

  • GetPenType - повертає тип об'єкту Pen.

  • GetStartCap - повертає стиль початку лінії об'єкту Pen.

  • GetTransform - обирає матрицю перетворення фізичної системи.

  • GetWidth - повертає товщину ліній об'єкту Pen.

  • ResetTransform - перетворює матрицю перетворення фізичної системи координат об'єкту Pen в одиничну матрицю.

  • RotateTransform - перемножує матрицю перетворення фізичної системи координат відображуваного елементу і матрицю повороту на кут в angle градусів за годинниковою стрілкою

  • ScaleTransform - перемножує матрицю перетворення фізичної системи координат відображуваногго елементу і матрицю масштабування.

  • SetAlignmnet - встановлює стиль вирівнювання пера відносно лінії малювання.

  • SetBrush - встановлює пензль для об'єкту Pen.

  • SetColor - встановлю колір об'єкту Pen.

  • SetCompoundArray - встановлює масив з count елементів складової прямої.

  • SetCustomEndCap - встановлює стиль кінця лінії об'єкту Pen.

  • SetCustomStartCap - встановлює стиль початку лінії об'єкту Pen.

  • SetDashCap - встановлює стиль рисочок штрихової лінії.

  • SetDashOffset - встановлює відстань від точки початку штрихової лінії до точки початку першої рисочки.

  • SetDashPattern - встановлює масив з count довжин рисочок і пробілів штрихової лінії.

  • SetDashStyle - встановлює стиль штрихової лінії.

  • SetEndCap - встановлює стиль кінця лінії.

  • SetLineCap - встановлює стилі початку, кінця ліній, а також рисочок штрихових ліній.

  • SetLineJoin - встановлює стиль з'єднання кінців ліній.

  • SetMitterLimit - встановлює величину обмеження області з'єднання кінців ліній.

  • SetStartCap - встановлює стиль початку лінії.

  • SetTransform - встановлює матрицю перетворення фізичних величин.

  • SetWidth - встановлює товщину пера.

Об'єкт Brush і його методи. Цей клас є абстрактним класом, основою більш досконалих пензлей. Він має всього 3 методи:

  • Clone - повертає копію існуючого пензля.

  • GetLastStatus- повертає статус звершення останнього виклику деякого методу об'єкта Brush.

  • GetType - повертає тип пензля у вигляді константи.

Клас SolidBrush і його методи. Цей клас визначає об'єкт Brush одного суцільного кольору. Він має єдиний конструктор SolidBrush(const Color& color), який створює пензль суцільного кольору. Він наслідує методи класу Brush і має власні 2 методи:

  • GetColor - обирає колір пензля;

  • SetColor - встановлює колір пензля.

Клас HatchBrush і його методи. Цей клас визначає штрихований об'єкт Brush. Має єдиний конструктор: HatchBrush(HatchStyle hatchStyle, const Color& foreColor, const Color& backColor), який створює пензль з кольором фону backColor, кольором ліній foreColor та стилем ліній hatchStyle. Він наслідує методи класу Brush і має власні 3 методи:

  • GetBackgroundColor - обирає колір фона пензля;

  • GetForegroundColor - обирає колір ліній пензля;

  • GetHatchStyle - повертає стиль пензля у вигляді константи.

Клас LinearGradientBrush і його методи. Цей клас визначає пензль зі змінним кольором, де колір поступово змінюється від початкової гарничної лінії до кінцевої гарничної лінії. Граничні ліні паралельні одна одній, а градієнт кольору їм перпендикулярний.

Він має 6 конструкторів. Різниця між ними полягає в способі задання початкової і кінцевої точок градієнту. Найпростіший з них: LinearGradientBrush(const Point& point1, const Point& point2, const Color& color1, const Color& color2) створює об'єкт з вказанням почтакових і кінцевих точок і кольорів градієнту кольору.

Він наслідує методи класу Brush і має свої 15 методів:

  • SetBlend - встановлює фактори і позиції змішування градієнту;

  • SetBlendBellShape - встановлює колоколоподібну криву змішування градієнту.

  • SetBlendTriangularShape - встановлює трикутну криву змішування градієнту.

  • SetGammaCorrection - вказує, застосовувати чи ні гамма-корекцію для пензля.

  • SetInterpolationColors - встановлює кольори і позиції для змішування градієнту шляхом інтерполяції.

  • SetLinearColors - встановлює початковий і кінцевий кольори градієнту.

  • SetWrapMode - встановлює режим покриття поверхні пензлем.

Клас PathGradientBrush і його методи. Об'єкт PathGradientBrush описує атрибути градієнту кольору і шлях, пересуваючись яким змінюється колір. До атрибутів градієнту в цьому випадку належать граничний шлях, центральна точка і колір цієї точки. При зафарбовуванні колір замкненої фігури поступово змінюється в усіх напрямках від центральної точки до граничного шляху. Цей об'єкт має 3 конструктора. Один з них: PathGradientBrush(const Point* points, INT count, WrapMode wrapMode) створює пензль на базі шляху, заданому масивом count точок points.

Він наслідує методи класу Brush і має власні 32 методи:

  • GetBlend - обирає count елементів масиву змішування кольорів blendFactors в позиціях blendPositions.

  • SetBlend - встановлює сount елементів масивів blendFactors i blendPositions.

  • GetBlendCount - повертає кількість параметрів змішування кольорів.

  • GetCenterColor - обирає значення кольору в центральній точці.

  • SetCenterColor - встановлює значення кольору в центральній точці.

  • GetFocusScales - обирає показники масштабування центральної точки.

  • SetFocusScales - встановлює показники масштабування вздовж вісів Х і У.

  • GetGammaCorrection-повертає значення TRUE, якщо гамма-корекцію ввімкнено.

  • SetGammaCorrection - встановлює гамма-корекцію.

  • GetInterpolationColors - обирає масиви значень передвизначених когльорів і точок вузлів інтерполяції.

  • SetInterpolationColors - встановлює масиви значень передвизначених когльорів і точок вузлів інтерполяції.

  • GetSurroundColors - обирає масив з кольорів елементів шляху.

  • SetSurroundColors - встановлює кольори елементів межуючого шляху.

Клас TextureBrush і його методи. Цей клас описує об'єкт Brush, який для зафарбовування використовує об'єкт Image. Він має 7 конструкторів, які розрізняються способом вирізання прямокутної частини зображення. Один з них:TextureBrush(Image*image,WrapModewrapMode,INTdstX,INTdstY,INTdstWidth,INTdstHeight) створює об'єкт TextureBrush на основі об'єкту image, режиму wrapMode і координат.

Клас TextureBrush наслідує методи класу Brush і має власні 10 методів. Сутність методу полягає в масштабуванні та обертанні пензля. Один з них - SetTransform - встановлює матрицю перетворення пензля.

Об'єкт Font і його методи. Клас Font описує сімейство, висоту, розмір і стиль (або комбінацію стилів) шрифта. Він має 6 конструкторів. Розглянемо 2 відмінних по суті конструктори:

Font(HDC hdc); - створює об'єкт Font на базі шрифта контексту hdc з GDI;

Font(const FontFamily* family, REAL emSize, INT style, Unit unit); - створює об'єкт Font на базі об'єкту family класу FontFamily, висоти emSize, стилю style і одиниці вимірювання unit шрифта.

Клас Font має 11 методів:

  • Clone-створює копію об'єкту Font.

  • GetFamily - обирає об'єкт familyкласуFontFamilyшрифта.

  • GetHeight - повертає висоту шрифта в пікселях або в одиницях об'єкту Graphics.

  • GetSize-повертає розмір шрифта, відповідний параметру emsize другого конструктора.

  • GetStyle - повертає стиль шрифта.

  • GetUnit - повертає значення параметра unitдля шрифта.

  • IsAvailable - повертає значення TRUE, якщо шрифт створено успішно.

Клас Image і його методи. Клас Image містить методи завантаження і зберігання растрових і веткорних (метафайли) зображень. Об'єкт Image можна створювати з різного типу файлів, включаючи BMP, ICON, GIF, JPEG, Exif, PNG, TIFF, WMF, EMF. Він має 2 конструктори, які відрізняються способом завантаження зображення. Конструктор завантаження з файлу: Image(const WCHAR* filename, BOOL useEmbeddedColorManagement); створює об'єкт Image з зображення, яке зберігається в файлі filename.

Має 37 методів:

  • Clone - створює копію об'єкту Image.

  • GetAllPropertyItems - обирає в буфер метадані об'єкту Image.

  • GetFrameCount - повертає кількість кадрів об'єкту Image.

  • GetFrameDimensionsCount - повертає розмір кадру в об'єкті Image.

  • GetPixelFormat - повертає формат пікселя об'єкту Image.

  • GetPropertyCount - повертає кількість метаданих об'єкту Image.

  • GetHeight - повертає кількість пікселів об'єкту Image по вертикалі (висоту).

  • GetPropertyIdList - обирає список ідентифікаторів властивостей метаданих об'єкту Image.

  • GetType - повертає тип об'єкту Image.

  • RotateFlip - повертає за годинниковою стрілкою і дзеркально відображає зображення.

  • Save - записує зображення в файл.

  • SaveAdd-додає кадр в файл, описаний в попередньому виклику метода Save.

  • SelectActiveFrame - обирає кадр, вказаний параметрами, об'єкту Image.