Bagikan melalui


D1136: Konflik Mode Penyajian Teks

DWRITE_RENDERING_MODE dan D2D1_TEXT_ANTIALIAS_MODE yang ditetapkan pada target render ini tidak kompatibel satu sama lain.

 

Kemungkinan Penyebabnya

Untuk operasi berbasis teks seperti ID2D1RenderTarget::D rawGlyphRun dan ID2D1DeviceContext::GetGlyphRunWorldBounds, Direct2D mempertimbangkan opsi antialias teks saat ini dari konteks perangkat serta opsi antialias DirectWrite. Semantik antialias sedikit berbeda antara Direct2D dan DirectWrite. Pesan ini terjadi ketika dua opsi antialisis yang ditentukan tidak setuju.

Kemungkinan Perbaikan

Untuk memastikan bahwa mode antialisis teks Direct2D setuju dengan mode penyajian DirectWrite, pastikan mereka memenuhi persyaratan berikut: • Untuk D2D1_TEXT_ANTIALIAS_MODE_CLEARTYPE, mode penyajian DirectWrite mungkin bukan OUTLINE atau ALIASED.• Untuk D2D1_TEXT_ANTIALIAS_MODE_GRAYSCALE, DirectWrite mode penyajian mungkin bukan ALIASED.• Untuk D2D1_TEXT_ANTIALIAS_MODE_ALIASED, mode penyajian DirectWrite mungkin bukan salah satu opsi CLEARTYPE. [baris baru] Untuk mengubah mode antialias teks Direct2D saat ini, gunakan ID2D1RenderTarget::SetTextAntialiasMode.