GTKSharp, Pango, установите причудливость размера шрифта - PullRequest
5 голосов
/ 15 марта 2010

Я использую 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, и он все еще исчезает, любая идея?

Спасибо!

Ответы [ 2 ]

5 голосов
/ 15 марта 2010

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

0 голосов
/ 21 февраля 2016

По сути, это версия C # другого ответа 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.

...