GTKSharp, Pango, настройка размера шрифта причудливости

Я использую GTK Sharp для работы над графическим интерфейсом для своего приложения.

Взгляните на этот фрагмент кода:

Pango.FontDescription fontdesc = new Pango.FontDescription();
fontdesc.Family = "Sans";
//fontdesc.Size = 12;
fontdesc.Weight = Pango.Weight.Semibold;
SyncInfo.ModifyFont(fontdesc);
Gdk.Color fontcolor = new Gdk.Color(255,255,255);
SyncInfo.ModifyFg(StateType.Normal, fontcolor);

Обратите внимание, что fontdesc.Size закомментирован. Потому что только когда я его закомментирую, я увижу метку с текстом. Если я установлю для него какое-либо значение, метка не появится.

Кроме того, я сделал Console.WriteLine, и размер по умолчанию равен 0. Поэтому я попробовал frontdesc.Size = 0, и он все равно исчезает, есть идеи?

Спасибо!


person nubela    schedule 14.03.2010    source источник


Ответы (2)


Проверьте это. Вам нужно установить его на 12 * Scale.PangoScale. У меня была аналогичная проблема с C API.

person NG.    schedule 14.03.2010

По сути, это версия С# другого ответа PangoScale:

Pango.FontDescription fontdesc = new Pango.FontDescription();
fontdesc.Size = Convert.ToInt32(12 * Pango.Scale.PangoScale);
....

Примечания. FontDescription.Size — это int, а PangoScale — это тип double, поэтому требуется приведение типа или другое преобразование типа double в int. Scale, вероятно, неоднозначен в указанных пространствах имен, поэтому, вероятно, лучше всего использовать полную ссылку Pango.Scale.

person gridtrak    schedule 21.02.2016