"Catturiamo" il video in Java

di Antonio Avolio Commenta

Vogliamo creare uno ScreenShot del nostro schermo utilizzando la piattaforma Java, per poter assolvere a questo compito ci serviremo dei package java.awt e naturalmente di quello java.io, per memorizzare il file in un risultato ottenuto in un file.

Il package awt (Abstract Window Toolkit), fornisce al programmatore una serie di interfacce e classi da utilizzare per la generazione e gestione delle interfacce grafiche. A partire dal package awt, gli sviluppatori di Java hanno costruito le swing.

[sourcecode language=’java’]
Toolkit t = Toolkit.getDefaultToolkit();
Dimension screenS = t.getScreenSize();
Rectangle screenRect = new Rectangle(screenS);
Robot robot = new Robot();
BufferedImage image = robot.createScreenCapture(screenR);
ImageIO.write(image, “jpg”, new File(“videoCatturato.jpg”));
[/sourcecode]

La prima operazione da eseguire è creare un oggetto t di tipo Toolkit, tale oggetto risulterà utile la fine di poter manipolare il nostro elemento grafico.
Dovendo eseguire uno screen shot del nostro schermo, sarà necessario ricavare le dimensioni dello stesso, per far ciò possiamo richiamare sull’oggetto toolkit appena creato il metodo getScreenSize, tale metodo ci ritornerà un oggetto Dimension contenente le dimensioni dello schermo da “catturare”.

Il tutto sarà contenuto all’interno di un oggetto grafico Rectangle. Definite le dimensioni occorrerà “catturare” il contenuto del nostro schermo, per far ciò ci serviremo di un oggetto Robot su cui invocheremo il metodo createScreenCapture, che ritornerà lo screen shot vero e proprio del nostro metodo, memorizzandolo temporaneamente nel buffer, concluderemo il nostro algoritmo salvando il contenuto del buffer all’interno del file videoCatturato.jpg .

Lascia un commento

Il tuo indirizzo email non verrà pubblicato.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>