На главную

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 | Скачать Вниз

GetGlyphOutline



The GetGlyphOutline function retrieves the outline or bitmap for a character in the TrueType font that is selected into the specified device context.

DWORD GetGlyphOutline(

HDC hdc, // handle of device context
UINT uChar, // character to query
UINT uFormat, // format of data to return
LPGLYPHMETRICS lpgm, // address of structure for metrics
DWORD cbBuffer, // size of buffer for data
LPVOID lpvBuffer, // address of buffer for data
CONST MAT2 *lpmat2 // address of transformation matrix structure
);


Parameters

hdc

Identifies the device context.

uChar

Specifies the character for which data is to be returned.

uFormat

Specifies the format of the data that the function retrieves. Use one of the following values:

Value Meaning
GGO_BITMAP The function retrieves the glyph bitmap. For information about memory allocation, see the following Remarks section.
GGO_NATIVE The function retrieves the curve data points in the rasterizer's native format and uses the font's design units. When this value is specified, any transformation specified in the lpMatrix parameter is ignored.
GGO_METRICS The function only retrieves the GLYPHMETRICS structure specified by lpgm. The other buffers are ignored. This value affects the meaning of the function's return value upon failure; see the following Return Value section.
GGO_GRAY2_BITMAP The function retrieves a glyph bitmap that contains 5 levels of gray.
GGO_GRAY4_BITMAP The function retrieves a glyph bitmap that contains 17 levels of gray.
GGO_GRAY8_BITMAP The function retrieves a glyph bitmap that contains 65 levels of gray.


Note that, for the GGO_GRAYn_BITMAP values, the function retrieves a glyph bitmap that contains n^2+1 (n squared plus one) levels of gray.

lpgm

Points to the GLYPHMETRICS structure describing the placement of the glyph in the character cell.

cbBuffer

Specifies the size of the buffer where the function is to copy information about the outline character. If this value is zero, the function returns the required size of the buffer.

lpvBuffer

Points to the buffer where the function is to copy information about the outline character. If this value is NULL, the function returns the required size of the buffer.

lpmat2

Points to a MAT2 structure specifying a transformation matrix for the character.



Return Values

If GGO_BITMAP, GGO_GRAY2_BITMAP, GGO_GRAY4_BITMAP, GGO_GRAY8_BITMAP, or GGO_NATIVE is specified and the function succeeds, the return value is greater than zero; otherwise, the return value is GDI_ERROR. If one of these flags is specified and the buffer size or address is zero, the return value specifies the required buffer size, in bytes.
If GGO_METRICS is specified and the function fails, the return value is GDI_ERROR.

Remarks

The glyph outline returned by the GetGlyphOutline function is for a grid-fitted glyph. (A grid-fitted glyph is a glyph that has been modified so that its bitmapped image conforms as closely as possible to the original design of the glyph.) If an application needs an unmodified glyph outline, it can request the glyph outline for a character in a font whose size is equal to the font's em unit. The value for a font's em unit is stored in the otmEMSquare member of the OUTLINETEXTMETRIC structure.

The glyph bitmap returned by GetGlyphOutline when GGO_BITMAP is specified is a doubleword-aligned, row-oriented, monochrome bitmap. When GGO_GRAY2_BITMAP is specified, the bitmap returned is a doubleword-aligned, row-oriented array of bytes whose values range from 0 to 4. When GGO_GRAY4_BITMAP is specified, the bitmap returned is a doubleword-aligned, row-oriented array of bytes whose values range from 0 to 16. When GGO_GRAY8_BITMAP is specified, the bitmap returned is a doubleword-aligned, row-oriented array of bytes whose values range from 0 to 255.

An application can rotate characters retrieved in bitmap format by specifying a 2-by-2 transformation matrix in the lpMatrix parameter.

See Also

FORM_INFO_1, GetOutlineTextMetrics, GLYPHMETRICS, MAT2, OUTLINETEXTMETRIC, POINT


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

GetGlyphOutline



Функция GetGlyphOutline извлекает схему или побитовое отображение для символа в шрифте TrueType, который выбран в определенный контекст устройства.

DWORD GetGlyphOutline(

HDC hdc, // РУЧКА контекста устройства UINT uChar, // символа на запрос UINT uFormat, // формат данных, чтобы возвращать LPGLYPHMETRICS lpgm, // адресу структуры для метрики DWORD cbBuffer, // размера буфера для данных LPVOID lpvBuffer, // адреса буфера для данных CONST MAT2 *lpmat2 // адрес матричной структуры преобразования
);


Параметры

hdc

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

uChar

Определяет символ для которого данные должны быть возвращаны.

uFormat

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

Значение Величины
GGO_BITMAP функция извлекает побитовое отображение glyph. Для информации о распределении памяти, смотри секцию Замечаний следующего.
GGO_NATIVE функция извлекает точки данных кривой в генератора развертки исконного формата и использует шрифтовые проектые устройства. Когда эта величина определена, любое преобразование определенное в параметре lpMatrix проигнорировано.
GGO_METRICS функция только извлекает структуру GLYPHMETRICS определенную lpgm. Другие буферы проигнорированы. Эта величина влияет на значение функциональной обратной величины в неудаче; смотри секцию Обратной Величины следующего.
GGO_GRAY2_BITMAP функция извлекает побитовое отображение glyph, которое содержит 5 уровней серых.
GGO_GRAY4_BITMAP функция извлекает побитовое отображение glyph, которое содержит 17 уровней серых.
GGO_GRAY8_BITMAP функция извлекает побитовое отображение glyph, которое содержит 65 уровней серых.


Отметьте, что, для величин GGO_GRAYn_BITMAP, функция извлекает побитовое отображение glyph, которое содержит n^2+1 уровни (n выравнивался плюс одно) серого.

lpgm

Точки на структуру GLYPHMETRICS, описывающие размещение glyph в символьной ячейке.

cbBuffer

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

lpvBuffer

Точки на буфер где функция должна копировать информацию о структурированном символе. Если эта величина НЕДЕЙСТВИТЕЛЬНА, функция возвращает необходимый размер буфера.

lpmat2

Точки на структуру MAT2, определяющие матрицу преобразования для символа.



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

Если GGO_BITMAP, GGO_GRAY2_BITMAP, GGO_GRAY4_BITMAP, GGO_GRAY8_BITMAP, или GGO_NATIVE определен и функция добивается успеха, обратная величина больше, чем нуль; в противном случае, обратная величина - GDI_ERROR. Если один из этих флагов определены и буферный размер или адрес - нуль, обратная величина определяет необходимый буферный размер, в байтах.
Если GGO_METRICS определен и функция терпит неудачу, обратная величина - GDI_ERROR.

Замечания

Схема glyph возвращанная функцией GetGlyphOutline - для годной сетки glyph. ( Годная сетка glyph является glyph, который модифицирован чтобы bitmapped образ соответствовал как тесно что касается оригинального проекта glyph.) Если приложению нужно unmodified glyph схема, это может запросить схему glyph о символе в шрифте чей размер равняется шрифт em устройство. Величина для шрифт em устройство загружено в элемент otmEMSquare структуры OUTLINETEXTMETRIC.

Побитовое отображение glyph возвращалось GetGlyphOutline когда GGO_BITMAP определен, - выровненное двойное слово, грести-ориентированное, монохромное побитовое отображение. Когда GGO_GRAY2_BITMAP определен, возвращанное побитовое отображение - выровненное двойное слово, ориентированный массив колонки байтов, чьи величины колеблются от 0 до 4. Когда GGO_GRAY4_BITMAP определен, возвращанное побитовое отображение - выровненное двойное слово, ориентированный массив колонки байтов, чьи величины колеблются от 0 до 16. Когда GGO_GRAY8_BITMAP определен, возвращанное побитовое отображение - выровненное двойное слово, ориентированный массив колонки байтов, чьи величины колеблются от 0 до 255.

Приложение может вращать символы извлеченные в формат побитового отображения определяя 2-матрица by-2 преобразования в параметре lpMatrix.

Смотри Также

FORM_INFO_1, GetOutlineTextMetrics, GLYPHMETRICS, MAT2, OUTLINETEXTMETRIC, ТОЧКА


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