screeansave спомощью java
.... подскажите если кто знает как с помощью явы получить скринсэйв экрана.... и сохранить это изображение в файл...
Какой скринсейв? Скриншот, мож? :D
... причем прога должна выполняться в линуксе у которого нет графичики... тобишь одна консоль... сохранять изображение в файл...
Только через нативные вызовы. Которые, если и есть, то без фреймбуфера работать не будут.
http://schmidt.devlib.org/java/save-screenshot.html
... хотя эта штука в моем консольном слакваре не работает...
... вот так ругаеться...
Exception in thread "main" java.awt.HeadlessException:
No X11 DISPLAY variable was set, but this program performed an operation which requires it.
at sun.awt.HeadlessToolkit.getScreenSize(HeadlessToolkit.java:261)
at intersorgtest.Screenshot.main(Screenshot.java:36)
... почему?
... так же для меня вопрос как явой открыть браузер линукса... я так понимаю что для консольного линукса мне нужен только lynx браузер...
... но у меня что то не выходит...
этот код не работает...
Process p = Runtime.getRuntime().exec("lynx www.google.com");
... как из явы управлять нативными командами линукса... из виндоуса же вроде Runtimeомо можно... а здесь как...
Цитата: sith
... вот так ругаеться...
Exception in thread "main" java.awt.HeadlessException:
No X11 DISPLAY variable was set, but this program performed an operation which requires it.
at sun.awt.HeadlessToolkit.getScreenSize(HeadlessToolkit.java:261)
at intersorgtest.Screenshot.main(Screenshot.java:36)
... почему?
ну ясно ж, порусски пишет -- не установлена переменная окружения DISPLAY, но программа её требует. не установлена по причине того, что иксы не запущены.
единообразно брать скриншот в графике и в консоле, я думаю, не получиться, потому что там вообще совсем разные способы вывода на экран. "скриншот" экрана в консоли получить в виде графического файла (или объекта) вообще вряд ли получиться, скорее всего это будет текстовый файл (это если не консоль без выпендрёжей) или вообще нечто "полубинорного" содержимого. во FreeBSD можно получить содержимое экрана с помощью vidcontrol. в линуксе не подскажу.
You need to write an image generating application that will capture and
image of a given webpage. Program that you will write need to be able to
run on Linux with no graphic environment setup. It will take two
parameters:
1. URL of a webpage (for example http://www.google.com)
2. Name of the image filename to output (for
example /tmp/screenshot.jpg)
After taking these two parameters program will have to load and render
given URL. After that capture an image screenshot of the rendered view
and save it as an image using given filename.
уточни, может имелось ввиду, что прога твоя консольная, но запускается уже в иксах. а там уже не проблема запустить браузер и заскриншотить.
run on Linux with no graphic environment setup
... мне кажеться что это и говорит о том что иксов нету....
Тогда имхо только парсить страницу руками и рисовать ее на какой-нибудь Image...
java.awt.headless=true
и тогда у тебя всьо заработает.