2011-01-17 23 views
5

đây là câu hỏi đầu tiên của tôi ở đây.C# - Tích hợp dữ liệu (ảnh) vào .exe

Tôi đã thực hiện một dự án đố nhỏ về 199 tiểu bang trên thế giới thông qua Visual Studio C#. vì tôi đã thu thập tất cả các lá cờ của mọi quốc gia và đưa chúng vào một thư mục - bạn có thể tưởng tượng rằng tôi đã thu thập được MANY.

Để chạy dự án hiện tại của tôi, tôi cần thư mục có tất cả các hình ảnh .gif này - nếu không khởi động sẽ kết thúc bằng lỗi nghiêm trọng. :-(

Câu hỏi của tôi là nếu nó có thể tích hợp các hình ảnh vào tập tin .exe của tôi để tôi có thể chạy nó mà không có thư mục đó khó chịu. (Cũng quan trọng đối với dự án trong tương lai với nội dung nhiều hơn!)

Và nếu nó có thể - làm thế nào? Nó cũng sẽ được tốt đẹp nếu bạn cho tôi biết làm thế nào để sử dụng hình ảnh - những con đường họ đã có vv ... =)

Cảm ơn trước!

Robbepop

Trả lời

9

Bạn có thể thêm một file nguồn để ứng dụng của bạn, bằng cách vào

Dự án >> Thuộc tính dự án của bạn >> Tài >> Tạo một tệp tài nguyên.

Sau đó, bạn có thể thêm bất kỳ hình ảnh nào vào ứng dụng của mình và tham chiếu nó qua mã của bạn. Chọn Images từ trình đơn thả xuống ở trên cùng của trình đơn và sau đó nhấp vào Add Resource >> From existing file.

Sau khi bạn lưu tệp tài nguyên của mình, bạn có thể truy cập hình ảnh qua mã, ví dụ:

> Image img = 
> YourProject.Properties.Resources.Image1 

Tuy nhiên, với số lượng hình ảnh bạn có, và những gì tôi sẽ tin bạn đang sử dụng chúng cho, tôi sẽ đề nghị sử dụng một Image List, mà bạn có thể thêm tất cả các hình ảnh của bạn đến, và truy cập chúng thông qua khóa hoặc chỉ mục của họ. ví dụ.

Image img = imageList1[0]; 

Hoặc

Image img = imageList1["US"]; 

này có thể được tìm thấy trong hộp công cụ của bạn.

3

Mọi assembly trong .net đều có thể chứa tài nguyên được gọi. Bạn có thể thêm chúng vào các thuộc tính của một dự án trong tab tài nguyên. Sau đó, bạn có thể truy cập chúng qua ProjectNameSpace.Properties.Resources.

5

Bạn có thể thêm hình ảnh làm tài nguyên được nhúng. Sau đó sử dụng ManifestResourceStream từ Assembly để trích xuất dữ liệu byte thô, và sau đó tải nó như là một hình ảnh.

Lưu ý: điều này khác với câu trả lời/cách tiếp cận của Femaref bên dưới.

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