Desidero utilizzare DirectWrite per la formattazione del testo a colori misti (evidenziazione della sintassi, per la precisione), ma non riesco a trovare un modo per farlo, nelle opzioni Layout o Tipografia. L'unica opzione è passare un pennello durante il rendering del testo, che non funziona per me perché fondamentalmente ho solo un layout. Aiuto!Come è possibile eseguire il rendering di testo a colori misti in DirectWrite?
5
A
risposta
8
Utilizzare IDWriteTextLayout::SetDrawingEffect
per applicare effetti di disegno su intervalli secondari. Se stai usando DWrite con D2D DrawTextLayout
, che suona come sei, allora quell'effetto disegno sarebbe solo un pennello (come ID2D1Brush
tramite CreateSolidColorBrush
o uno dei pennelli sfumati). Se hai implementato il tuo IDWriteTextRenderer
per IDWriteTextLayout::Draw
, l'effetto del disegno può essere qualsiasi cosa tu interpreti. Nel callback IDWriteTextRenderer::DrawGlyphRun
, si chiama QueryInterface
sul parametro drawingEffect oppure, se si è certi che sia il proprio tipo, è sufficiente eseguire static_cast direttamente.
// ... create the colored brushes and determine where to draw ...
wchar_t const* text = L"Red Green";
dwriteFactory->CreateTextLayout(....., OUT &textLayout);
DWRITE_TEXT_RANGE textRange1 = {0,3}, textRange2 = {4,5};
textLayout->SetDrawingEffect(redBrush, textRange1);
textLayout->SetDrawingEffect(greenBrush, textRange2);
renderer->DrawTextLayout(point, textLayout, defaultBrush);
Problemi correlati
- 1. Come eseguire il rendering del testo in SDL2?
- 2. È possibile eseguire il rendering di script Android su GPU?
- 3. È possibile eseguire il rendering di un file senza estensione .jsp come JSP?
- 4. Come eseguire il rendering del testo con QOpenGLWidget
- 5. È possibile eseguire il rendering di AVCaptureVideoPreviewLayer in un contesto grafico?
- 6. Come eseguire il rendering di LaTeX/HTML in Jupyter (R)?
- 7. Come eseguire il rendering di rendering parziale con RSpec
- 8. Come eseguire il rendering su GL_TEXTURE_EXTERNAL_OES?
- 9. è possibile eseguire il rendering di una pagina Web direttamente su un'immagine in python?
- 10. Qualche modo di rilevare se una console di navigazione è in grado di eseguire il rendering dei colori?
- 11. È possibile eseguire il debug di Global.asax?
- 12. È possibile eseguire il rendering di una vista Android su un FBO o texture OpenGL?
- 13. Come eseguire il rendering di un cubo 3d in LWJGL?
- 14. WPF: è possibile eseguire il rendering di una circonferenza utilizzando GeometryDrawing?
- 15. È possibile eseguire il rendering HTML dal database SQL in SSRS 2005?
- 16. C - fscanf numeri misti e testo statico
- 17. È possibile eseguire il rendering di un file js con Rails e ridurre l'output?
- 18. Come è possibile eseguire il rendering di un modello all'interno di un layout utilizzando il linguaggio del modello Liquid?
- 19. Non è possibile incollare tutto il testo in WPF testo
- 20. Come eseguire il rendering della vista parziale in MVC
- 21. Come eseguire il rendering di un UILabel multilinea con NSMutableAttributedString
- 22. Rendering di testo curvo in matplotlib
- 23. Come eseguire il rendering di testo dal vivo OpenGL per una GUI?
- 24. Come eseguire il rendering del testo avvolto su un'immagine in java
- 25. È possibile eseguire il sovraccarico di funzione in F #?
- 26. È possibile eseguire Include con il pallone?
- 27. Come eseguire il rendering del testo utilizzando FRACTIONALMETRICS in Java 7
- 28. Rspec testo di rendering
- 29. È possibile eseguire AfterEffects su un server per eseguire il rendering di video al volo con immagini dinamiche?
- 30. Come eseguire il rendering e aggiungere sottovoci in Backbone.js