Jak mogę wyodrębnić obraz określonego rozmiaru lub wszystkie obrazy z ikony z wieloma obrazami?Jak mogę wyodrębnić obraz o określonym rozmiarze z ikony?
Odpowiedz
Nie mówisz, jaki jest tego cel i istnieje wiele sposobów na uzyskanie ikon, a jedna metoda może być lepsza od drugiej w zależności od celu.
Jednak wyodrębnić dowolną liczbę "Large" (32x32) i/lub "małe" (16x16) Ikony * z dowolnego pliku, użyj funkcji ExtractIconEx
. To pozwala wyodrębnić jedną lub więcej ikon jednego z tych dwóch standardowych rozmiarów z pliku ikony (.ico), EXE lub DLL. Plik ikony może zawierać wiele obrazów, a ta funkcja pozwala uzyskać wszystkie z nich.
Funkcja zapisze do tablicy uchwytów, z których każdy może przypisać do właściwości Handle
instancji TIcon
. Wtedy możesz użyć standardu TIcon
methods, jak zwykle, gdybyś załadował TIcon w inny sposób. Zauważ, że nowością w Delphi XE jest możliwość łatwego skopiowania go do bitmapy via the Assign method. That article pokazuje także, w jaki sposób uzyskać dostęp do wszystkich zasobów (wbudowanych/standardowych) ikon systemu Windows, jeśli tak właśnie jest.
(Uwaga boczna: Myślę, że klasa TIcon
pozwala załadować z pliku za pomocą metody LoadFromFile
- wydaje się, że brakuje jej w dokumentacji, ale jestem prawie pewien, że istnieje. Z pamięci, która ładuje tylko jedną ikona)
(*) w rzeczywistości, "duże" i "małe" może być inna niż 32x32 i 16x16. wykorzystać funkcję
GetSystemMetrics
zSM_CXICON
,SM_CYICON
,SM_CXSMICON
iSM_CYSMICON
flagi do f Wyróżnij wymiary każdego typu.
- 1. Jak wyodrębnić obraz ikony 48 * 48 z zasobu pliku wykonywalnego?
- 2. Utwórz nowy plik o określonym rozmiarze
- 3. Jak mogę wyodrębnić obraz konta bieżącego użytkownika?
- 4. WinAPI: Utwórz okno o określonym rozmiarze obszaru roboczego
- 5. Utwórz pustą listę w pythonie o określonym rozmiarze
- 6. Listy dopasowywania wzorów o określonym rozmiarze lub większym/mniejszym
- 7. Jak ustawić Electron WebView w określonym rozmiarze?
- 8. Bitset o zmiennym rozmiarze
- 9. Wiosna - Jak mogę zniszczyć moją fasolę o rozmiarze prototypowym?
- 10. wektor o stałym rozmiarze
- 11. Jak wyśrodkować obraz w określonym dziale według aktualnej pozycji rzutni?
- 12. Jak mogę utworzyć plik tymczasowy o określonym rozszerzeniu w bash?
- 13. Jak mogę wyodrębnić listę testcases z TestSuite?
- 14. Jak mogę wyodrębnić wszystkie cytaty z tekstu?
- 15. Jak mogę wyodrębnić klucz z certyfikatu SSL?
- 16. jak usunąć plik dziennika szyn po określonym rozmiarze
- 17. Jak zadeklarować tablicę zer w pythonie (lub tablicy o określonym rozmiarze)
- 18. BeautifulSoup: Jak wyodrębnić dane po określonym znaczniku html
- 19. Jak utworzyć obszar tekstowy o rozmiarze TinyMCE?
- 20. Jak otworzyć JFileChooser o wstępnie zdefiniowanym rozmiarze
- 21. Jak zadeklarować tablicę ciągów o nieznanym rozmiarze?
- 22. std :: array o rozmiarze zero
- 23. tablica sortowania o rozmiarze n
- 24. Strumień przesyłając obraz o rozmiarze zmienionym przez gm na s3 z aws-sdk
- 25. Wysokiej rozdzielczości ikony UITabBar są wyświetlane w pełnym rozmiarze na ekranie o niskiej rozdzielczości
- 26. iPhone: Wyświetl obraz w oryginalnym rozmiarze
- 27. trzeba podzielić tablice sub tablic określonym rozmiarze w Ruby
- 28. wstaw obraz w określonym punkcie akapitu
- 29. Utwórz nowy wektor o stałym rozmiarze
- 30. Tworzenie obszaru tekstowego bootstrap o stałym rozmiarze
@ David, dziękuję! Mam obiekt TIcon i muszę wyodrębnić z niego wszystkie obrazy. Czy jest jakiś sposób, aby to zrobić bez ikony zapisywania do pliku za pomocą metody SaveToFile? – Branko
TIcon będzie obrazem jednej ikony. Używając 'ExtractIconEx' utworzysz jeden TIcon na obraz ikony, który wyodrębnia. Następnie można uzyskać dostęp do obrazu ikony poprzez "Przypisanie" do mapy bitowej. (Czy wypełniłeś tablicę uchwytów? Spróbuj dwukrotnie wywołać 'ExtractIconEx', po raz pierwszy z' nIconIndex' ustawionym na -1 i obydwoma parametrami tablicy 'nil', i zwróci to liczbę ikon. tablica o tym rozmiarze. Więcej szczegółów można znaleźć w artykule MSDN.) –
@David, TIcon to jedna ikona obrazu, jeśli została uzyskana przez ExtractIconEx, ale co jeśli istniejący obiekt TIcon ma więcej niż jeden obraz. Jeśli zapiszę TIcon z 4 obrazami do pliku (oIcon.SaveToFile) i otworzę ten plik za pomocą IconEditor, widzę wszystkie 4 obrazy i mogę wyodrębnić wszystkie 4 obrazy za pomocą ExtractIconEx. Czy można wyodrębnić wszystkie obrazy z obiektu TIcon, a nie zapisać TIcon do pliku i użyć ExtractIconEx? – Branko