Как масштабировать текст с помощью Pango-Sharp только в одном (горизонтальном) направлении?

Мне нужно написать какой-то текст с панго-резкостью, но в зависимости от количества символов масштабировать ширину.

Это то, что у меня есть на данный момент:

var layout = new Pango.Layout (Core.PangoContext);
layout.FontDescription = Pango.FontDescription.FromString (
  "'Courier New' CLM  20");
layout.SetMarkup (@"<span  color='black'>12</span>");
Area.GdkWindow.DrawLayout (Core.Area.Style.TextGC (
  StateType.Normal), 50, 50, layout);

Я не смог найти никаких намеков на выполнение этого. Я нашел только шкалу XY в Pango, но не шкалу только на X или Y.


person l2rek    schedule 26.04.2012    source источник


Ответы (1)


Наконец нашел решение:

(cc=каирконтекст)

layout.FontDescription = Pango.FontDescription.FromString ("Courier New CLM  " + FontSize);
layout.SetText (Position.ToString ());
cc.Scale (1, 1);
cc.MoveTo (NoteCenterX, NoteCenterY - 12);

cc.Scale (ScaleX, 1);
Pango.CairoHelper.ShowLayout (cc, layout);
cc.Scale (1 / ScaleX, 1);
person l2rek    schedule 06.05.2012