Zrzut ze strony do pliku

0

Witam!

Chcę napisać program, który będzie zrzucał zrzut ekranu strony internetowej (coś jak klawisz PrintScreen, tylko że sama strona i nie tylko to co na ekranie widać, ale całość strony) do pliku graficznego na dysku.
Nie wiem od czego zacząć :( Czy ktoś wie jak zrzucić taką grafikę?

Pozdrawiam

0

Hmmm... to wcale nie jest proste... moze latwiej byloby to przechwytywac i zrzucac do pdf'a? Jako plik graficzny to musialbys znac rozklad wszystkich pikseli, a ten poznasz tylko poprzez przeskrolowanie calej strony...

0

można zacząć od przeglądnięcia kodów źródłowych takich programów pod linuxem ;)

ja na razie tez nie wiem jak to zrobic;)

0

wygooglowane

00001 // for screenshots
00002 import java.io.*;
00003 import java.awt.*;
00004 import java.awt.image.*;
00005 import javax.imageio.*;
00006 
00007 
00008 class Screenshot {
00009 
00010     public static void takeScreenshot(String fn) {
00011                     try {
00012                         System.out.println("about to take screenshot");
00013                         Toolkit toolkit = Toolkit.getDefaultToolkit();
00014                         Dimension screenSize = toolkit.getScreenSize();
00015                         Rectangle screenRect = new Rectangle(screenSize);
00016                         Robot robot = new Robot();
00017                         BufferedImage image = robot.createScreenCapture(screenRect);
00018                         System.out.println("done, now writing to disk");
00019                         ImageIO.write(image, "jpg", new File(fn));
00020                         System.out.println("all done");
00021 
00022                     } catch (Exception e) {
00023                         System.out.println(e);
00024                     }
00025 
00026     }
00027 
00028     public static void main(String[] args) {
00029         if (args.length == 0) {
00030           System.out.println("Usage:  java Screenshot filename.ext");
00031           System.out.println("        where ext can be:");
00032           String[] formatNames = ImageIO.getWriterFormatNames();
00033           for ( int i = 0; i < formatNames.length; i++ ) {
00034             System.out.println( "          " + formatNames[i] );
00035           }
00036         } else {
00037           String fn = args[0];
00038           takeScreenshot(fn);
00039         }
00040     }
00041 
00042 }
0

No tak... ale to jest proste (zeby nie mowic bulka z maslem) w ten sposob zrzucisz to co masz na ekranie, mozesz tez ograniczyc sie do zrzutu z samego konkretnego okienka... ale co kiedy z boku masz Scroll i na ekranie widoczne jest tylko np. 20% stronki (a do reszty masz dostep dopiero po uzyciu Scrolla)...

0

jeśli zależy ci na lamerskim rozwiązaniu to robot.mouseMove :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1