Zoom

Este guia descreve como trabalhar com a API de zoom do DotNetBrowser.

O DotNetBrowser permite ampliar o conteúdo de uma página Web ou de todas as páginas, receber notificações da alteração do nível de zoom da página Web, substituir o nível de zoom predefinido, entre outras funcionalidades.

Para trabalhar com o zoom global que será aplicado a todas as páginas Web, utilize a propriedade IEngine.ZoomLevels. Uma instância desta propriedade pode ser obtida em Profile. Por exemplo:

IZoomLevels zoomLevels = profile.ZoomLevels;
Dim zoomLevels As IZoomLevels = profile.ZoomLevels

Se você utilizar IEngine.ZoomLevels, você obtém o serviço IZoomLevels associado ao perfil predefinido.

Para controlar o zoom de uma página Web carregada na instância IBrowser, utilize a propriedade IBrowser.Zoom.

Nível de Zoom Padrão

O nível de zoom predefinido para todas as páginas Web é de 100%. Você pode alterá-lo utilizando a propriedade IZoomLevels.DefaultLevel.

O exemplo de código abaixo define o nível de zoom predefinido para todas as páginas Web como 150%:

engine.Profiles.Default.ZoomLevels.DefaultLevel = Level.P150;
engine.Profiles.Default.ZoomLevels.DefaultLevel = Level.P150

Controlando o zoom

É possível ampliar o conteúdo de uma página Web carregada no IBrowser de forma programática utilizando a instância IZoom ou utilizando gestos táteis em ambientes com uma tela tátil.

O nível de zoom é configurado separadamente para cada host. Se definir um nível de zoom para a página Web http://www.a.com, este não afeta a página Web http://www.b.com.

Para alterar o nível de zoom, é necessário esperar até que a página Web seja carregada completamente.

Aumentando o zoom

Para fazer zoom numa página Web atualmente carregada, utilize o seguinte método:

browser.Zoom.In();
browser.Zoom.In()

Reduzindo o zoom

Para reduzir o zoom de uma página Web atualmente carregada, utilize o seguinte método:

browser.Zoom.Out();
browser.Zoom.Out()

Definindo o nível de zoom

A amostra de código seguinte define o nível de zoom da página Web carregada para 200%:

browser.Zoom.Level = Level.P200;
browser.Zoom.Level = Level.P200

Resetando o zoom

Para repor o nível de zoom para o valor predefinido, utilize o exemplo de código abaixo:

browser.Zoom.Reset();
browser.Zoom.Reset()

Desativando o zoom

É possível desativar o zoom para todas as páginas Web carregadas no IBrowser utilizando a propriedade IZoom.Enabled. Ela ativa ou desativa a funcionalidade de zoom e reseta o nível de zoom no valor padrão. Depois disso quaisquer tentativas de alterar o nível de zoom programaticamente utilizando a API de zoom do DotNetBrowser e gestos de toque num dispositivo de tela tátil são ignoradas.

Por exemplo:

browser.Zoom.Enabled = false;
browser.Zoom.Enabled = False

Eventos Zoom

Para receber notificações de alteração do nível de zoom de uma determinada página Web, utilize o evento ZoomChanged. Ver o exemplo de código abaixo:

engine.Profiles.Default.ZoomLevels.LevelChanged += (s, e) =>
{
    string hostUrl = e.Host;
    Level zoomLevel = e.Level;
};
AddHandler engine.Profiles.Default.ZoomLevels.LevelChanged, Sub(s, e)
    Dim hostUrl As String = e.Host
    Dim zoomLevel As Level = e.Level
End Sub
Go Top