Mein Problem ist, dass während der glatten Skalierung, die auf Skia-Canvas angewendet wird (mit concat
method), der Text in "spurts" ungleichmäßig skaliert wird. Das Problem tritt besonders auf Android-Plattformen mit FreeType 2-Back-End auf.
Ich glaube, so funktioniert die allgemeine Textskalierung in Skia - zuerst Textgröße auf Font-Engine anwenden, dann Glyph-Bitmap extrahieren und mit "Rest" -Matrix transformieren, um die gewünschte Endgröße zu erreichen. Aber irgendwie wird die letzte verbleibende Skalierung nicht angewendet, was zu solchen Sprüngen beim Übergang zwischen ganzzahligen Werten der Textgröße führt. Das gleiche mit reinem Java / Android-Canvas scheint tadellos zu funktionieren (Text skaliert reibungslos).
Meine Frage ist, wie kann ich dieses Verhalten beheben? Vielleicht gibt es ein Build-Konfigurations-Flag, das ich optimieren könnte, vielleicht SkPaint
runtime flag?
Skia Revision ist m59
.
Ich kenne Skia nicht, aber im Allgemeinen, wenn ich dieses Verhalten bei der Skalierung von Text sehe, liegt das daran, dass du deinen Skalierungs-Float auf einen Int skalierst.
%Vor%Dies wird das beschriebene Verhalten verursachen
Konvertieren Sie keine Skalierungsvariablen bis zum allerletzten Schritt in int.