2010-07-23 40 views
16

Tôi muốn tạo hình ảnh trang web trông như thế nào, ví dụ: tạo hình thu nhỏ nhỏ của html + hình ảnh. không cần phải hoàn hảo (ví dụ: hiển thị flash/javascript).tạo hình ảnh (ví dụ: jpg) của một trang web?

Tôi sẽ gọi sử dụng mã trên Linux, lý tưởng sẽ là một số thư viện java, nhưng công cụ dòng lệnh cũng sẽ rất tuyệt.

bất kỳ ý tưởng nào?

+0

bản sao có thể có của [Chương trình dòng lệnh để tạo ảnh chụp màn hình trang web (trên Linux)] (http://stackoverflow.com/questions/125951/command-line-program-to-create-website-screenshots-on-linux) –

Trả lời

12

Hãy thử CutyCapt, một tiện ích dòng lệnh. Nó sử dụng Webkit để hiển thị và kết quả đầu ra ở nhiều định dạng khác nhau (SVG, PNG, v.v.).

+0

+1: Điều này sẽ thực hiện công việc. – tur1ng

+0

có vẻ tốt, nhưng tôi muốn một giải pháp miễn phí để sử dụng thương mại – JohnSmith

+0

thực sự, tôi nghĩ rằng tôi có thể bị nhầm lẫn, tôi có hiểu chính xác rằng CutyCapt + QT được sử dụng miễn phí cho mục đích thương mại hay không, với giấy phép LGPL? http://qt.nokia.com/products/licensing – JohnSmith

2

bạn có thể làm cho nó gần như hoàn hảo và nền tảng chéo, bằng cách sử dụng plugin trình duyệt.

BrowserShots là một dự án mã nguồn mở có thể có một số mã, bạn có thể sử dụng.

also see:

+0

Đó không phải là giải pháp lập trình. –

+2

bạn đã xem bất kỳ liên kết nào tôi đã cung cấp chưa? Có các tùy chọn dòng lệnh, tất cả đều hoạt động trên linux, chính xác như người hỏi yêu cầu –

+0

cổ vũ cho các liên kết, trông giống như một số giải pháp có thể có trong đó. – JohnSmith

1

Để chụp ảnh chụp màn hình trong te rminal với ImageMagick, gõ dòng sau vào một thiết bị đầu cuối và sau đó nhấp và kéo chuột trên một phần của màn hình:

import MyScreenshot.png 

Để chụp toàn bộ màn hình và sau khi một số chậm trễ và thay đổi kích thước, sử dụng như sau lệnh:

import -window root -resize 400×300 -delay 200 screenshot.png 

Bạn có thể sử dụng một hỗn hợp của xwininfonhập khẩu để lấy id cửa sổ của trình duyệt và thực hiện một ảnh chụp màn hình của cửa sổ đó. Một kịch bản bash để tự động hóa quá trình này sẽ là một cái gì đó như thế này:

#!/bin/bash 
window_id=`xwininfo -tree -root | grep Mozilla | awk '{print $1}'` 
import -window $window_id -resize 100x100 tumb.png 

Kịch bản này sẽ tạo ra một ảnh chụp màn hình 100x100 của Firefox trên thư mục hiện hành dưới cái tên tumb.png

Một số nguồn tin cho thấy làm thế nào để chạy một bash script từ bên trong một ứng dụng Java, google có thể giúp bạn về điều đó. Nếu bạn đang vội, hãy kiểm tra thisthis.

+0

để làm rõ, điều này sẽ được gọi bằng phần mềm độc lập (không phải phần mềm ui) ... vì vậy cần phải tự động – JohnSmith

+0

Tôi đã chỉnh sửa câu trả lời ở trên và thêm thông tin bạn đang tìm kiếm. – karlphillip

0

Nếu bạn quan tâm trong Java, có thể bạn có thể nhìn vào tự động hóa trình duyệt sử dụng Selenium-RC http://seleniumhq.com

Đó là một máy chủ java nhỏ mà bạn có thể cài đặt trên hộp và bản thân chương trình sẽ thực hiện các lệnh từ xa trong một trình duyệt web.

bước tương tự (đây là mã giả bằng cách này, tôi mã Selenium của tôi trong php và tôi không thể nhớ 100% các chi tiết cụ ra khỏi đỉnh đầu của tôi)

selenium.location("http://foo.com") 
selenium.open("/folder/sub/bar.html") 
selenium.captureScreenshot("/tmp/" + this.getClass().getName() + "." 
           + testMethodName + ".png"); 

Thực ra, tôi chỉ đã thực hiện tìm kiếm trên web nhanh chóng cho cú pháp chính xác trên cú pháp cuối cùng ... và anh chàng này có một blog với những gì thực sự có thể là mã hoạt động trong java :) https://dev.youdevise.com/YDBlog/index.php?title=capture_screenshots_of_selenium_browser_&more=1&c=1&tb=1&pb=1

Ngoài ra còn có một số trang web cung cấp dịch vụ này trình duyệt và hệ điều hành "Tôi không thể nhớ lại chúng là gì. Về cơ bản, họ có một đám mây của mỗi hệ điều hành và trình duyệt kết hợp, và họ đăng nhập với mỗi máy, lấy một màn hình và lưu trữ nó trên trang web của họ cho bạn để trở lại trong một vài giờ khi họ đang thực hiện.

Ahh ... websearch khác và nó là của bạn :) http://browsershots.org/

0

Sau khi đọc trang này, tôi đã suy nghĩ, hãy để tôi cháy lên trình duyệt midori: http://midori-browser.org/ và khi tôi thử các tùy chọn -h, tôi đã thấy:

-s, --snapshot  Take a snapshot of the specified URI 

QutyCapt khó biên dịch và có nhiều phụ thuộc. Midori có ít hơn. Nó xuất PNG của trang web vào thư mục TMP. Người ta có thể lấy tệp tin với:

midori -s http://www.rcdwealth.com new.png 2>/dev/null | awk '{ print $4}' 

Sau đó, tệp có thể được chuyển đổi thành kích thước hình thu nhỏ bằng cách sử dụng chương trình chuyển đổi của ImageMagick.

Các vấn đề liên quan