2012-04-04 18 views
5

Tôi đang sử dụng thành phần TImage để tải một số hình ảnh png, nhưng một số trong số chúng có phần mở rộng .imp. Tôi thêm đơn vị Vcl.Imaging.pngimage để mã của tôi và tôi đang sử dụng mã này để tải những hình ảnhLàm cách nào để tải hình ảnh Png từ tệp có phần mở rộng khác?

if OpenDialog1.Execute then 
    Image1.Picture.LoadFromFile(OpenDialog1.FileName); 

Nhưng khi các thủ tục LoadFromFile được thực hiện một ngoại lệ xảy ra

Unknown phần mở rộng tập tin hình ảnh (.imp)

những hình ảnh (.imp) là file png tạo ra bởi một ứng dụng extenal và đang nằm trong một thư mục chỉ đọc, do đó đổi tên những tập tin này không phải là một lựa chọn, câu hỏi là như thế nào tôi có thể tải một hình ảnh Png trong một thành phần TImage từ một tập tin có phần mở rộng khác?

+2

tải này nó vào một dòng và sau đó tải các hình ảnh từ đó –

Trả lời

14

bạn phải đăng ký định dạng tập tin đầu tiên sử dụng phương pháp TPicture.RegisterFileFormat

Hãy thử

TPicture.RegisterFileFormat('imp','imp (png) image file',TPngImage);