Chromium Embedded: как масштабировать веб-сайт для учета более высокого DPI (CEF3)

Я использую CEF3 для отображения веб-страницы в моем приложении Windows. Он работает нормально, но не масштабируется, если в Windows установлены более высокие настройки DPI (например, 150%). Я не ожидаю, что это будет делаться автоматически, но я также не нашел никакого свойства, которое можно было бы установить, чтобы сообщить хрому о масштабировании. Есть ли способ сделать это?


person Steffen Binas    schedule 26.03.2014    source источник
comment
Насколько я помню, можно установить только ZoomLevel в свойство Chromium.Browser.Host.ZoomLevel.   -  person TLama    schedule 26.03.2014
comment
Спасибо, это было скрытое свойство. Я просто не нашел.   -  person Steffen Binas    schedule 27.03.2014
comment
Возник новый вопрос: ZoomLevel, к сожалению, не является коэффициентом масштабирования. -1.0, кажется, масштабирует веб-страницу до 50% от ее первоначального размера. 3.0 масштабирует его до 200%, 0.0 это 100%, 1.0 немного больше 100%... какова формула для этого?   -  person Steffen Binas    schedule 03.04.2014


Ответы (1)


Масштаб и масштаб — разные вещи, как вы уже заметили. Я думаю, что это формула, которую вы ищете:

    public void SetScaleFactor(double scale)
    {
        double zoomLevel = Math.Log(scale, 1.2);
        this._browserHost.SetZoomLevel(zoomLevel);
    }

Вы можете попробовать и увидеть разницу с зумом.

Удачи!

person bkulov    schedule 27.08.2014
comment
Спасибо, это было то, что я искал. - person Steffen Binas; 29.08.2014