Làm cách nào để trích xuất hình ảnh có kích thước cụ thể hoặc tất cả hình ảnh từ biểu tượng có nhiều hình ảnh?Làm cách nào để trích xuất hình ảnh có kích thước cụ thể từ biểu tượng?
Trả lời
Bạn không nói mục đích của việc này là gì và có một số cách để nhận biểu tượng và một phương pháp có thể tốt hơn cách khác tùy thuộc vào mục đích.
Tuy nhiên, để trích xuất bất kỳ số lượng "lớn" (32x32) và/hoặc (16x16) biểu tượng "nhỏ" * từ một tập tin tùy ý, sử dụng ExtractIconEx
chức năng. Điều này cho phép bạn trích xuất một hoặc nhiều biểu tượng của một trong hai kích thước tiêu chuẩn này từ tệp biểu tượng (.ico), EXE hoặc DLL. Một tập tin biểu tượng có thể chứa nhiều hình ảnh và chức năng này sẽ cho phép bạn có được tất cả chúng.
Hàm sẽ ghi vào một dãy các chốt, mỗi chức năng mà bạn có thể gán cho thuộc tính Handle
của một cá thể TIcon
. Sau đó, bạn có thể sử dụng TIcon
methods như bình thường nếu bạn đã tải TIcon theo bất kỳ cách nào khác. Lưu ý rằng mới để Delphi XE là khả năng sao chép nó một cách dễ dàng để một bitmap via the Assign method. That article cũng cho biết cách truy cập tất cả biểu tượng Windows (inbuilt/standard) Windows, nếu điều đó xảy ra là những gì bạn đang theo dõi.
(Ghi chú bên: Tôi nghĩ rằng lớp TIcon
cho phép bạn tải từ tệp qua phương thức LoadFromFile
- điều này dường như bị thiếu trong tài liệu, nhưng tôi chắc chắn nó tồn tại. Từ bộ nhớ, chỉ tải một icon)
(*) Trên thực tế, "lớn" và "nhỏ" có thể thể khác nhau để 32x32 và 16x16:. sử dụng chức năng
GetSystemMetrics
vớiSM_CXICON
,SM_CYICON
,SM_CXSMICON
, vàSM_CYSMICON
cờ đến f chỉ ra kích thước của mỗi loại.
- 1. Trích xuất kích thước hình ảnh từ chuỗi Base64
- 2. Trích xuất hình ảnh và từ có tọa độ và kích thước từ PDF
- 3. Làm cách nào để trích xuất hình ảnh từ video?
- 4. Làm thế nào để trích xuất hình ảnh biểu tượng 48 * 48 từ tài nguyên của tệp thực thi?
- 5. Làm cách nào để thay đổi kích thước ảnh thành một kích thước tệp cụ thể?
- 6. Ảnh chụp màn hình của biểu mẫu có kích thước lớn hơn kích thước màn hình
- 7. Làm thế nào để trích xuất hình ảnh từ tập tin swf?
- 8. Trích xuất hình ảnh phụ từ một hình ảnh bằng cách sử dụng C#
- 9. Cố gắng trích xuất các giá trị pixel từ một hình ảnh PNG cụ thể
- 10. Làm cách nào để trích xuất hình ảnh từ PDF bằng iText theo đúng thứ tự?
- 11. Làm cách nào để bạn trích xuất hình ảnh từ tệp pdf bằng C#
- 12. Lấy kích thước hình ảnh từ ByteArray
- 13. Trích xuất ảnh tài nguyên cục bộ từ Winforms Biểu mẫu/Nút/Thuộc tính hình ảnh
- 14. Làm thế nào để có được kích thước thật của một vật thể từ một hình ảnh, khi không biết khoảng cách giữa vật thể và máy ảnh?
- 15. ImageMagick có thể trả lại kích thước hình ảnh không?
- 16. Làm thế nào để trích xuất các biểu tượng UIBarButtonItem từ SDK iPhone?
- 17. Sử dụng C# làm cách nào tôi có thể thay đổi kích thước hình ảnh jpeg?
- 18. Thay đổi kích thước hình ảnh trong Java để giảm kích thước hình ảnh
- 19. ipad - trích xuất hình ảnh từ ứng dụng?
- 20. Trích xuất hình ảnh bằng iTextSharp
- 21. Các biểu tượng ActionBar có kích thước khác nhau
- 22. Làm cách nào để trích xuất góc quay từ QTransform?
- 23. Làm cách nào để thay đổi kích thước hình ảnh để phù hợp với ô UITableView?
- 24. Làm cách nào để xuất hình ảnh có độ phân giải cao hơn của đối tượng Mathematica Graph?
- 25. Kích thước hình ảnh Carrierwave
- 26. Cách xác định hoạt ảnh cụ thể theo kích thước màn hình trong XML
- 27. Làm cách nào để yêu cầu Windows kích thước biểu tượng khay hệ thống?
- 28. Làm thế nào để trích xuất khung hình bằng cách sử dụng mencoder vào thư mục cụ thể?
- 29. UIImageView: Thay đổi kích thước thành kích thước hình ảnh?
- 30. Làm cách nào để xuất biểu đồ DBML từ Visual Studio sang hình ảnh?
@David, cảm ơn bạn! Tôi có đối tượng TIcon và tôi cần phải trích xuất tất cả các hình ảnh từ nó. Có cách nào để làm điều đó mà không lưu biểu tượng để tập tin thông qua phương pháp SaveToFile? – Branko
TIcon sẽ là một hình ảnh biểu tượng. Sử dụng 'ExtractIconEx' bạn sẽ tạo ra một TIcon cho mỗi hình ảnh biểu tượng mà nó trích xuất. Sau đó, bạn có thể truy cập vào hình ảnh của biểu tượng bằng cách 'Gán'-ing nó vào một bitmap. Hãy thử gọi 'ExtractIconEx' hai lần, lần đầu tiên với' nIconIndex' được đặt thành -1 và cả hai tham số mảng 'nil', và nó sẽ trả về số biểu tượng. Xem các bài viết MSDN cho nó để biết thêm chi tiết.) –
@David, TIcon là một biểu tượng hình ảnh nếu nó thu được bởi ExtractIconEx, nhưng nếu đối tượng TIcon hiện có có nhiều hơn một hình ảnh. Nếu tôi lưu TIcon với 4 hình ảnh để tập tin (oIcon.SaveToFile) và mở tập tin này với IconEditor tôi có thể xem tất cả 4 hình ảnh và tôi có thể trích xuất tất cả 4 hình ảnh với ExtractIconEx. Có thể trích xuất tất cả các hình ảnh từ đối tượng TIcon, không lưu TIcon vào tệp và sử dụng ExtractIconEx không? – Branko