2012-02-25 32 views
17

Tôi có một đối tượng flash (với phần mở rộng là swf). Đối tượng flash chứa một hình ảnh mà tôi cần trích xuất và sử dụng thay cho tệp swf .. đặc biệt đối với các thiết bị không hỗ trợ flash. Làm thế nào chúng ta có thể trích xuất hình ảnh từ một tập tin swf (flash)? Tôi có thể sử dụng những công cụ nào?Làm thế nào để trích xuất hình ảnh từ tập tin swf?

Trả lời

3

Cũng tùy thuộc vào tình huống, bất kỳ trường hợp nào bạn cũng sẽ cần một cách để xác định hình ảnh đó bên trong tệp đó là biểu tượng.

Trường hợp 1. Nhúng

[Embed(source="assets/library.swf", symbol="AImage")] 
[Bindable] 
public var AImage:Class; 

Trường hợp 2. Runtime

(mã này được thực thi một khi nạp đã nạp file nguồn swf của bạn)

loader.contentLoaderInfo.applicationDomain.getDefinition("AImage"); 

Hy vọng nó giúp

23

Có một số open source toolkit hoạt động khá tốt cho công việc. Trên Windows, bạn sẽ cần chạy trình cài đặt với tư cách Quản trị viên hoặc nó chết. Sau đó, thêm thư mục vào PATH của bạn (hoặc không) và bạn có thể kéo jpeg ra. Trước tiên:

swfextract /path/to/file.swf 

sẽ liệt kê tất cả nội dung trong tệp. Trong trường hợp này, hãy chú ý đến các id trong phần JPEG. Sau đó, đối với mỗi id, hãy chạy

swfextract /path/to/file.swf -i id -o name-of-my-new-file.jpg 
+0

Chỉnh sửa được đề xuất bởi một người dùng khác: chuyển nút '-i' ở phía trước giá trị id trong dòng ở trên. – Tom

+0

cảm ơn bạn đã liên kết, nó hoạt động giống như một lời cảm ơn ma thuật – Suresh

+0

, swfrender cũng hữu ích khi trích xuất hình ảnh trong swf – thomas

5

Tôi đồng ý với việc sử dụng open source toolkit như được trả lời bởi Tom.

Để xây dựng các công cụ và cài đặt trên linux/mac, sử dụng các lệnh này theo quy định tại các wiki:

tar -zvxf swftools-0.x.x.tar 
cd swftools-0.x.x 
./configure 
make 
make install 

Đây là lệnh để trích xuất toàn bộ tài sản:

swfextract --outputformat "extract_%06d.%s" -a 1- test.swf

Như được chỉ định trong số wiki page này.

+3

Không cần phải biên dịch nó trong Ubuntu-Debian, gói tồn tại trong kho chính thức như swftools: 'sudo apt-get install swftools' – jgpATs2w

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