2010-06-07 35 views
7

Tôi muốn viết một tập lệnh python có một loạt các tệp swf và hiển thị chúng cho các tệp hình ảnh riêng lẻ.Hiển thị khung Flash (SWF) dưới dạng hình ảnh (PDF, PNG, JPG)

Mỗi tệp swf chỉ có một khung (văn bản, hình ảnh, v.v.) và không có hoạt ảnh nào cả. Tôi đã thử lệnh render từ bộ công cụ swftools (Phiên bản windows), nhưng độ phân giải của ảnh kết quả quá thấp.

Vì vậy, những gì tôi cần là:

Một công cụ dòng lệnh (Windows/Linux) hoặc một thư viện python mà làm cho một khung hình từ một swf để một bitmap hoặc tốt hơn để một cái gì đó giống như một PDF (Nó sẽ là tuyệt vời nếu dữ liệu văn bản có thể được giữ lại). Nó sẽ là tuyệt vời nếu độ phân giải/kích thước mục tiêu có thể được thiết lập bằng tay.

Cảm ơn trước!

Trả lời

3

Ví dụ: bạn có thể tạo ứng dụng AIR tải mỗi SWF, chụp ảnh màn hình và ghi nó vào một tệp.

Vấn đề là bạn sẽ cần phải khởi động một thứ gì đó để thực hiện kết xuất và, theo như tôi biết, bạn không thể làm điều đó nếu không có trình phát hoặc một số triển khai Nguồn mở của nó.

Tôi nghĩ rằng đặt cược tốt nhất của bạn là đi AIR, là miễn phí và đa nền tảng. Nếu bạn đang sử dụng để python, AS3 cần thiết phải được dễ dàng, đủ để nhận.

HTH,

J

+0

Cảm ơn! Đã không nghĩ về điều đó. Tôi sẽ thử và đăng kết quả của mình. –

11

Tôi xin lỗi để trả lời câu hỏi của riêng tôi, nhưng tôi tìm thấy đối tượng không có giấy tờ của swfrender (một phần của swftools) bằng cách duyệt qua các nguồn.

swfrender path/to/my.swf -X<width of output> -Y<height of output> 
-o<filename of output png> 

Như bạn có thể đoán tùy chọn X cho phép bạn xác định chiều rộng (tính bằng pixel) của đầu ra và Y thực hiện tương tự cho chiều cao. Nếu bạn chỉ cần đặt một thông số, thì thông số còn lại được chọn tương ứng với tỷ lệ chiều rộng gốc ban đầu (khá hữu ích)

Đó là mẹo cho tôi nhưng Zarate cung cấp giải pháp có thể tốt hơn (tôi suy nghĩ của swf để chuyển đổi PDF) ông xứng đáng với các khoản tín dụng.

Chúc mừng

+0

Không thực hiện công việc với tính minh bạch, Có sự thay thế nào trong thời gian chờ đợi không? – Osa

5

Đôi khi SWFRender bị kẹt ở các tệp rất nặng, đặc biệt khi sản xuất 300dpi + hình ảnh. Trong trường hợp này Gnash có thể trợ giúp:

gnash -s<scale-image-factor> --screenshot last --screenshot-file output.png -1 -r1 input.swf 

ở đây chúng tôi đổ khung cuối cùng của phim vào tệp output.png để tắt xử lý âm thanh và thoát sau khi khung được hiển thị. Ngoài ra, chúng tôi có thể chỉ định yếu tố tỷ lệ tại đây hoặc sử dụng

-j width -k height 

để chỉ định kích thước chính xác của hình ảnh kết quả.

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