Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Інструменти малювання
Методи, відображення об'єкту 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, WrapMode wrapMode, INT dstX, INT dstY, INT dstWidth, INT dstHeight) створює об'єкт 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.
|