На главную

On-line справка по Win32 API

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z | Скачать Вниз

SetGraphicsMode



The SetGraphicsMode function sets the graphics mode for the specified device context.

int SetGraphicsMode(

HDC hdc, // handle of the device context
int iMode // graphics mode
);


Parameters

hdc

Identifies the device context.

iMode

Specifies the graphics mode. This parameter can be one of the following values:

Value Meaning
GM_COMPATIBLE Sets the graphics mode that is compatible with Windows version 3.1. This is the default mode. If this value is specified, the application can only modify the world-to-device transform by calling functions that set window and viewport extents and origins, but not by using SetWorldTransform or ModifyWorldTransform; calls to those functions will fail. Examples of functions that set window and viewport extents and origins are SetViewportExtEx and SetWindowExtEx.
GM_ADVANCED Windows NT: Sets the advanced graphics mode that allows world transformations. This value must be specified if the application will set or modify the world transformation for the specified device context. In this mode all graphics, including text output, fully comforms to the world-to-device transformation specified in the device context.Windows 95: The GM_ADVANCED value is not supported. When playing enhanced metafiles, Windows 95 does its best to ensure that enhanced metafiles on Windows 95 look the same as they do on Windows NT. To accomplish this, Windows 95 may simulate GM_ADVANCED mode when playing specific enhanced metafile records.


Return Values

If the function succeeds, the return value is the old graphics mode.
If the function fails, the return value is zero.

Remarks

There are three areas in which graphics output differs according to the graphics mode:

1. Text Output: In the GM_COMPATIBLE mode, TrueType (or vector font) text output behaves much the same way as raster font text output with respect to the world-to-device transform in the DC. The TrueType text is always written from left to right and right side up, even if the rest of the graphics will be flipped in the x or y axis. Only the height of the TrueType (or vector font) text is scaled appropriately. The only way to write nonhorizontal text in the GM_COMPATIBLE mode is to specify nonzero escapement and orientation for the logical font selected in this device context.

In the GM_ADVANCED mode, TrueType (or vector font) text output fully conforms to the world-to-device transform in the device context. The raster fonts only have very limited transformation capabilities (stretching by some integer factors). Graphics device interface (GDI) tries to produce the best output it can with raster fonts for non-trivial transforms.

2. Rectangle Exclusion: If the default GM_COMPATIBLE graphics mode is set, the system excludes bottom and rightmost edges when it draws rectangles.

The GM_ADVANCED graphics mode is required if applications want to draw rectangles that are bottom-right inclusive.

3. Arc Drawing: If the default GM_COMPATIBLE graphics mode is set, GDI draws arcs using the current arc direction in the device space. With this convention, arcs do not respect page-to-device transforms that require a flip along the x or y axis.

If the GM_ADVANCED graphics mode is set, GDI always draws arcs in the counterclockwise direction in logical space. This is equivalent to the statement that, in the GM_ADVANCED graphics mode, both arc control points and arcs themselves fully respect the device context's world-to-device transform.



See Also

CreateDC, GetArcDirection, GetDC, GetGraphicsMode, ModifyWorldTransform, SetArcDirection, SetViewportExtent, SetViewportExtEx, SetWindowExtent, SetWindowExtEx, SetWorldTransform


Пригласи друзей и счет твоего мобильника всегда будет положительным!
Предыдущая статья
 
Сайт Народ.Ру Интернет
Следующая статья
Пригласи друзей и счет твоего мобильника всегда будет положительным!

SetGraphicsMode



Функция SetGraphicsMode устанавливает графический способ для определенного контекста устройства.

int SetGraphicsMode(

HDC hdc, // РУЧКА контекста устройства int графический способ iMode //
);


Параметры

hdc

Идентифицирует контекст устройства.

iMode

Определяет графический способ. Этот параметр может быть одним из следующего величин:

Значение Величины
GM_COMPATIBLE Устанавливает графический способ, который совместимый с версией Окна 3.1. Это - встроенный способ. Если эта величина определена, приложение может только модифицировать мировое-устройство превращать вызывая функции, что установленное окно и viewport протяженность и начала, но не используя SetWorldTransform или ModifyWorldTransform; вызовы в те функции потерпит неудачу. Примеры функций, что установившее окно и viewport протяженность и начала - SetViewportExtEx и SetWindowExtEx.
GM_ADVANCED Windows NT: Устанавливает передовой графический способ, который допускает мировые преобразования. Эта величина должна быть определена если приложение установит или модифицирует мировое преобразование для определенного контекста устройства. В этом способе вся графика, включая текстовый выход, полностью comforms на мировое устройство преобразования определенное в контексте устройства.Окно 95: величина GM_ADVANCED не поддерживана. При игральных расширенных метафайлах, Окно 95 делает все возможное, чтобы гарантировать, что расширенные метафайлы в Окне 95 выглядят такими же как и они сделайте на Windows NT. Для того, чтобы выполнять это, Окно 95 может сымитировать способ GM_ADVANCED при игральных специфических расширенных записях метафайла.


Обратные Величины

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

Замечания

Есть три области в которых графический выход отличается согласно графическому способу:

1. Текстовый Выход: В способе GM_COMPATIBLE, TrueType (или векторный шрифт) текстовый выход ведется почти себя путь как растровый шрифтовой текстовый выход что касается мирового-устройства превращаться в DC. Текст TrueType всегда написан с слева направо и стороны права по, даже если бы остальная часть графики будет переброшена на x или y ось. Только высота TrueType текста (или векторный шрифт) масштабируется соответственно. Единственный путь писать nonhorizontal текст в способ GM_COMPATIBLE должно определить ненулевой escapement и ориентацию для логического шрифта выбранного в этом контексте устройства.

В способе GM_ADVANCED, TrueType (или векторный шрифт) текстовый выход полностью соответствует мировому-устройству превращаться в контекст устройства. Растровые шрифты только очень ограничили возможности преобразования (растяжение некоторыми показателями целого). Графический интерфейс устройства (GDI), пытается производить наилучший выход, который он может с растровыми шрифтами для не-тривиальный превращается.

2. Исключение Прямоугольника: Если встроенный графический способ GM_COMPATIBLE установлен, система исключает нижние и самые правые края когда она делает прямоугольниками.

Графический способ GM_ADVANCED потребовался если приложения хотятся сделать прямоугольниками, которые - нижнее-право включающее.

3. Чертеж Дуги: Если встроенный графический способ GM_COMPATIBLE установлен, GDI делает дугами, использовавшими текущее направление дуги в пространстве устройства. С этим соглашением, дуги не уважают страничное-устройство превращает, что требует перебрасываться вдоль x или y оси.

Если графический способ GM_ADVANCED установлен, GDI всегда делает дугами в против часовой стрелки направлении в логическом пространстве. Это - эквивалент утверждению, что, в графическом способе GM_ADVANCED, обе дуги управляют точками и само полностью отношение дуг устройство контекстное мировое-устройство превращается.



Смотри Также

CreateDC, GetArcDirection, GetDC, GetGraphicsMode, ModifyWorldTransform, SetArcDirection, SetViewportExtent, SetViewportExtEx, SetWindowExtent, SetWindowExtEx, SetWorldTransform


Вверх Version 1.3, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод OpenGL  Русский перевод Win32 API
 
Используются технологии uCoz