Twórz lepsze zrzuty ekranu ze stron internetowych lub konwertuj HTML bezpośrednio na obrazy, korzystając z następujących funkcji GrabzIt's Ruby API. Jednak zanim zaczniesz, pamiętaj, że po wywołaniu url_to_image, html_to_image or file_to_image metody save or save_to należy wywołać metodę, aby utworzyć obraz.
Do zrobienia zrzutu ekranu strony internetowej lub wymagany jest tylko jeden parametr przekonwertować HTML into obrazie jak pokazano w poniższym przykładzie.
grabzItClient.url_to_image("https://www.tesla.com") # Then call the save or save_to method
grabzItClient.html_to_image("<html><body><h1>Hello World!</h1></body></html>") # Then call the save or save_to method
grabzItClient.file_to_image("example.html") # Then call the save or save_to method
GrabzIt's Ruby API może robić zrzuty ekranu w kilku formatach, w tym JPG, PNG, WEBP, BMP (bit 8, bit 16, bit 24 lub bit 32) i TIFF. Domyślnym formatem zrzutów ekranu jest JPG. Jednak jakość obrazu JPG może nie być wystarczająca dla niektórych aplikacji. W takich okolicznościach zalecany jest format PNG do zrzutów ekranu obrazów, ponieważ zapewnia dobrą równowagę między jakością a rozmiarem pliku. Poniższy przykład pokazuje zrzut ekranu wykonany w formacie PNG.
grabzItClient = GrabzIt::Client.new("Sign in to view your Application Key", "Sign in to view your Application Secret") options = GrabzIt::ImageOptions.new() options.format = "png" grabzItClient.url_to_image("https://www.tesla.com", options) # Then call the save or save_to method grabzItClient.save_to("result.png")
grabzItClient = GrabzIt::Client.new("Sign in to view your Application Key", "Sign in to view your Application Secret") options = GrabzIt::ImageOptions.new() options.format = "png" grabzItClient.html_to_image("<html><body><h1>Hello World!</h1></body></html>", options) # Then call the save or save_to method grabzItClient.save_to("result.png")
grabzItClient = GrabzIt::Client.new("Sign in to view your Application Key", "Sign in to view your Application Secret") options = GrabzIt::ImageOptions.new() options.format = "png" grabzItClient.file_to_image("example.html", options) # Then call the save or save_to method grabzItClient.save_to("result.png")
Rozmiar przeglądarki odnosi się do rozmiaru okna przeglądarki, które będzie używane podczas przechwytywania zrzutu ekranu, w większości przypadków nie trzeba go ustawiać, ponieważ domyślny rozmiar przeglądarki będzie wystarczający dla wszystkich większości zadań. Aby ustawić rozmiar przeglądarki, po prostu przekaż wartość do browserWidth
i browserHeight
metody ImageOptions class.
Zmiana rozmiaru obrazu jest łatwa, robienie tego bez zniekształcania obrazu jest nieco trudniejsze. Aby uprościć cały proces, zalecamy skorzystanie z tego prosty kalkulator wymiarów obrazu.
Jeśli chcesz zwiększyć szerokość i wysokość obrazu do rozmiaru większego niż szerokość i wysokość przeglądarki, którym domyślnie jest 1366 na piksele 728, szerokość i wysokość przeglądarki również muszą zostać zwiększone, aby pasowały.
Możesz przekazać niestandardowy identyfikator do obraz metody pokazane poniżej, ta wartość jest następnie zwracana do twojego programu obsługi GrabzIt Ruby. Na przykład ten niestandardowy identyfikator może być identyfikatorem bazy danych, umożliwiając skojarzenie zrzutu ekranu z określonym rekordem bazy danych.
grabzItClient = GrabzIt::Client.new("Sign in to view your Application Key", "Sign in to view your Application Secret") options = GrabzIt::ImageOptions.new() options.customId = "123456" grabzItClient.url_to_image("https://www.tesla.com", options) # Then call the save method grabzItClient.save("http://www.example.com/handler/index")
grabzItClient = GrabzIt::Client.new("Sign in to view your Application Key", "Sign in to view your Application Secret") options = GrabzIt::ImageOptions.new() options.customId = "123456" grabzItClient.html_to_image("<html><body><h1>Hello World!</h1></body></html>", options) # Then call the save method grabzItClient.save("http://www.example.com/handler/index")
grabzItClient = GrabzIt::Client.new("Sign in to view your Application Key", "Sign in to view your Application Secret") options = GrabzIt::ImageOptions.new() options.customId = "123456" grabzItClient.file_to_image("example.html", options) # Then call the save method grabzItClient.save("http://www.example.com/handler/index")
GrabzIt pozwala zrobić pełny zrzut ekranu całej strony internetowej, aby to zrobić, musisz przekazać -1 do browserHeight
metoda. Aby upewnić się, że obraz odpowiada rozmiarowi przeglądarki, przekaż -1 do height
i width
atrybuty.
grabzItClient = GrabzIt::Client.new("Sign in to view your Application Key", "Sign in to view your Application Secret") options = GrabzIt::ImageOptions.new() options.browserHeight = -1 options.width = -1 options.height = -1 grabzItClient.url_to_image("https://www.tesla.com", options) # Then call the save or save_to method grabzItClient.save_to("result.jpg")
grabzItClient = GrabzIt::Client.new("Sign in to view your Application Key", "Sign in to view your Application Secret") options = GrabzIt::ImageOptions.new() options.browserHeight = -1 options.width = -1 options.height = -1 grabzItClient.html_to_image("<html><body><h1>Hello World!</h1></body></html>", options) # Then call the save or save_to method grabzItClient.save_to("result.jpg")
grabzItClient = GrabzIt::Client.new("Sign in to view your Application Key", "Sign in to view your Application Secret") options = GrabzIt::ImageOptions.new() options.browserHeight = -1 options.width = -1 options.height = -1 grabzItClient.file_to_image("example.html", options) # Then call the save or save_to method grabzItClient.save_to("result.jpg")
Możesz także zwracać miniatury, które nie są przycięte, ale uwaga: może to powodować tworzenie dużych obrazów. Aby to zrobić, przekaż -1 do height
i / lub width
metody Wymiar przekazany przez -1 nie zostanie przycięty.
grabzItClient = GrabzIt::Client.new("Sign in to view your Application Key", "Sign in to view your Application Secret") options = GrabzIt::ImageOptions.new() options.width = -1 options.height = -1 grabzItClient.url_to_image("https://www.tesla.com", options) # Then call the save or save_to method grabzItClient.save_to("result.jpg")
grabzItClient = GrabzIt::Client.new("Sign in to view your Application Key", "Sign in to view your Application Secret") options = GrabzIt::ImageOptions.new() options.width = -1 options.height = -1 grabzItClient.html_to_image("<html><body><h1>Hello World!</h1></body></html>", options) # Then call the save or save_to method grabzItClient.save_to("result.jpg")
grabzItClient = GrabzIt::Client.new("Sign in to view your Application Key", "Sign in to view your Application Secret") options = GrabzIt::ImageOptions.new() options.width = -1 options.height = -1 grabzItClient.file_to_image("example.html", options) # Then call the save or save_to method grabzItClient.save_to("result.jpg")
Użycie tych specjalnych wartości oznacza, że możesz utworzyć zrzut ekranu, który jest pełnowymiarową wersją całej strony, jeśli chcesz!
GrabzIt pozwala wykonać zrzut ekranu elementu HTML, takiego jak div
or span
i przechwyć całą jego zawartość. Aby to zrobić, element HTML, który chcesz zrzut ekranu, musi być określony jako Selektor CSS.
... <div id="features"> <img src="http://www.example.com/rocket.jpg"/><h3>Rocket Launch Next Week</h3> </div> ...
W poniższym przykładzie wybierzemy div z identyfikatorem „funkcje” i wyprowadzimy go jako obraz JPEG 250 x 250px.
grabzItClient = GrabzIt::Client.new("Sign in to view your Application Key", "Sign in to view your Application Secret") # The 250 parameters indicates that image should be sized to 250 x 250 px options = GrabzIt::ImageOptions.new() options.width = 250 options.height = 250 options.format = "jpg" options.targetElement = "#features" grabzItClient.url_to_image("http://www.bbc.co.uk/news", options) # Then call the save or save_to method grabzItClient.save_to("result.jpg")
Następny przykład zawiera kolejny zrzut ekranu „div” funkcji, ale tym razem wyświetla obraz JPEG o dokładnej wielkości div.
grabzItClient = GrabzIt::Client.new("Sign in to view your Application Key", "Sign in to view your Application Secret") # The -1 indicates that image should not be cropped options = GrabzIt::ImageOptions.new() options.width = 250 options.height = 250 options.format = "jpg" options.targetElement = "#features" options.browserHeight = -1 grabzItClient.url_to_image("http://www.bbc.co.uk/news", options) # Then call the save or save_to method grabzItClient.save_to("result.jpg")