Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berisi informasi tingkat rendah yang digunakan untuk merender eksekusi glyph.
Warisan
Antarmuka IDWriteGlyphRunAnalysis mewarisi dari antarmuka IUnknown . IDWriteGlyphRunAnalysis juga memiliki jenis anggota berikut:
Metode
Antarmuka IDWriteGlyphRunAnalysis memiliki metode ini.
|
IDWriteGlyphRunAnalysis::CreateAlphaTexture Membuat tekstur alfa dari jenis yang ditentukan untuk glyph dalam persegi panjang pembatas tertentu. |
|
IDWriteGlyphRunAnalysis::GetAlphaBlendParams Mendapatkan properti penpaduan alfa yang diperlukan untuk blending ClearType. |
|
IDWriteGlyphRunAnalysis::GetAlphaTextureBounds Mendapatkan persegi panjang pembatas piksel fisik yang dipengaruhi oleh eksekusi glyph. |
Keterangan
Tekstur alfa dapat berupa tekstur alfa tingkat dua atau tekstur alfa ClearType.
Tekstur alfa dua tingkat berisi satu byte per piksel, oleh karena itu ukuran buffer untuk tekstur dua tingkat akan menjadi area batas tekstur, dalam byte. Setiap byte dalam tekstur alfa tingkat dua yang dibuat oleh CreateAlphaTexture diatur ke DWRITE_ALPHA_MAX (yaitu, 255) atau nol.
Tekstur alfa ClearType berisi tiga byte per piksel, oleh karena itu ukuran buffer untuk tekstur alfa ClearType tiga kali area batas tekstur, dalam byte.
Contoh
Contoh kode berikut menunjukkan cara membuat objek analisis eksekusi glyph. Dalam contoh ini, eksekusi glyph kosong sedang digunakan.
HRESULT CreateGlyphRunAnalysis(IDWriteFontFace *pFontFace, IDWriteGlyphRunAnalysis **ppGlyphRunAnalysis)
{
HRESULT hr = S_OK;
IDWriteFactory* pDWriteFactory = NULL;
// Create the DirectWrite factory.
hr = DWriteCreateFactory(
DWRITE_FACTORY_TYPE_SHARED,
__uuidof(IDWriteFactory),
reinterpret_cast<IUnknown**>(&pDWriteFactory)
);
DWRITE_GLYPH_RUN emptyGlyphRun = { 0 };
UINT16 glyphIndex = 0;
emptyGlyphRun.fontFace = pFontFace;
emptyGlyphRun.glyphIndices = &glyphIndex;
emptyGlyphRun.glyphCount = 0;
emptyGlyphRun.fontEmSize = 12;
IDWriteGlyphRunAnalysis* pGlyphRunAnalysis = NULL;
if (SUCCEEDED(hr))
{
hr = pDWriteFactory->CreateGlyphRunAnalysis(
&emptyGlyphRun,
1.0f, // pixelsPerDip,
NULL, // transform,
DWRITE_RENDERING_MODE_CLEARTYPE_GDI_CLASSIC,
DWRITE_MEASURING_MODE_GDI_CLASSIC,
0.0f, // baselineOriginX,
0.0f, // baselineOriginY,
&pGlyphRunAnalysis);
}
*ppGlyphRunAnalysis = pGlyphRunAnalysis;
SafeRelease(&pDWriteFactory);
return S_OK;
}
Persyaratan
| Klien minimum yang didukung | Windows 7, Windows Vista dengan SP2 dan Pembaruan Platform untuk Windows Vista [aplikasi desktop | Aplikasi UWP] |
| Server minimum yang didukung | Windows Server 2008 R2, Windows Server 2008 dengan SP2 dan Pembaruan Platform untuk Windows Server 2008 [aplikasi desktop | Aplikasi UWP] |
| Target Platform | Windows |
| Header | dwrite.h |