Ferramentas para capturar e converter a Web

Como criar capturas de tela de alta definição?

Ocasionalmente, você pode querer criar capturas de tela em alta definição (HD) ou retina. Essas capturas de tela em alta definição têm resolução aumentada, mas são mais lentas e ficam ainda mais lentas com dimensões maiores, por isso é recomendável não criar uma imagem muito grande. Como tal, você provavelmente também precisará especificar um atraso para permitir que a captura de tela seja renderizada.

O código a seguir mostra como fazer uma captura de tela de alta definição em cada idioma, definindo o parâmetro HD como verdadeiro. Isso cria uma imagem de alta resolução duplicando a largura e a altura da imagem, aumentando a resolução de uma captura de tela padrão em quatro vezes. No entanto, seria contraproducente defina uma largura e altura para qualquer coisa menos -1 pois isso faria com que a imagem fosse reduzida novamente!

GrabzItClient grabzIt = new GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret");
ImageOptions options = new ImageOptions();
options.HD = true;
options.OutputWidth = -1;
options.OutputHeight = -1;
grabzIt.URLToImage("https://www.bbc.co.uk", options);
grabzIt.SaveTo("images/result.jpg");
GrabzItClient grabzIt = new GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret");
ImageOptions options = new ImageOptions();
options.setHd(true);
options.setWidth(-1);
options.setHeight(-1);
grabzIt.URLToImage("https://www.bbc.co.uk", options);
grabzIt.SaveTo("images/result.jpg");
<script src="https://cdn.jsdelivr.net/npm/@grabzit/js@3.5.2/grabzit.min.js"></script>
<script>
GrabzIt("Sign in to view your Application Key").ConvertURL("https://www.bbc.co.uk", 
{"hd":1,"width":-1,"height":-1}).Create();
</script>
var grabzit = require('grabzit');

var client = new grabzit("Sign in to view your Application Key", "Sign in to view your Application Secret");
var options = {"hd":true,"width":"-1","height":"-1"};
client.url_to_image("https://www.bbc.co.uk", options);
client.save_to("images/result.jpg", function (error, id){
    if (error != null){
        throw error;
    }
});
$grabzIt = GrabzItClient->new("Sign in to view your Application Key", "Sign in to view your Application Secret");
$options = GrabzItImageOptions->new();
$options->hd(1);
$options->width(-1);
$options->height(-1);
$grabzIt->URLToImage("https://www.bbc.co.uk", $options);
$grabzIt->SaveTo("images/result.jpg");
$grabzIt = new \GrabzIt\GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret");
$options = new \GrabzIt\GrabzItImageOptions();
$options->setHD(true);
$options->setWidth(-1);
$options->setHeight(-1);
$grabzIt->URLToImage("https://www.bbc.co.uk", $options);
$grabzIt->SaveTo($filepath);
grabzIt = GrabzItClient.GrabzItClient("Sign in to view your Application Key", "Sign in to view your Application Secret")
options = GrabzItImageOptions.GrabzItImageOptions()
options.hd  = True
options.width = -1
options.height = -1
grabzIt.URLToImage("https://www.bbc.co.uk", options)
grabzIt.SaveTo("images/result.jpg")
https://api.grabz.it/services/convert?key=Sign in to view your Application Key&format=jpg&hd=1&width=-1&height=-1&url=https%3A%2F%2Fwww.bbc.co.uk
grabzIt = GrabzIt::Client.new("Sign in to view your Application Key", "Sign in to view your Application Secret")
options = GrabzIt::ImageOptions.new()
options.hd = true
options.width = -1
options.height = -1
grabzItClient.url_to_image("https://www.bbc.co.uk", options)
grabzItClient.save_to("images/result.jpg")

À esquerda está um exemplo de captura de tela padrão e à direita uma captura de tela de alta definição produzida pelo código acima, ambas as capturas de tela têm a mesma altura.


Definir a resolução da imagem com precisão

Capturas de tela de alta definição de tamanhos diferentes também podem ser criadas especificando uma largura maior que a largura do navegador. GrabzIt então dimensiona o navegador para impedir que a imagem seja esticada. No entanto, as medidas tomadas ao criar capturas de tela de alta definição desta forma são imprecisos, e é por isso que as capturas de tela completas nem sempre são dimensionadas ou dimensionadas perfeitamente neste modo.

Se você estiver tendo problemas para criar imagens de alta definição dimensionadas corretamente usando este método, tente usar uma largura e altura de imagem x2, x3 ou x4 das dimensões originais do navegador.

Este modo também não funcionará corretamente ao direcionar elementos. Se você deseja direcionar elementos, é recomendável definir o parâmetro HD conforme mostrado acima.