Gtk.Image на дисплеях HiDPI - PullRequest
       29

Gtk.Image на дисплеях HiDPI

2 голосов
/ 10 июня 2019

Я использую Gtk.Image на фоне GdkPixbuf.Pixbuf для отображения фотографии. Я масштабирую фотографию, чтобы она соответствовала доступному пространству в ответ на сигнал size-allocate родительского виджета. Проблема заключается в том, что на дисплеях HiDPI каждое измерение представлено в логических пикселях, а не в пикселях устройства, поэтому происходит одно из следующих действий:

  • Если я масштабирую GdkPixbuf.Pixbuf до размеров, которые я получаю из сигнала size-allocate, фотография занимает требуемое физическое пространство, но использует только половину разрешения дисплея (при условии, что пиксель устройства 2: 1 до логическое соотношение пикселей).
  • Если я масштабирую GdkPixbuf.Pixbuf до get_scale_factor(), умноженное на размеры, полученные из сигнала size-allocate, то фотография займет в два раза больше физического пространства (т. Е. Она не будет помещаться в окно).

Как я могу сообщить GTK, что Pixbuf, который я поставляю на изображение, соответствует пикселям устройства, а не логическим пикселям?

...