2011-02-01 10 views
6

Mam istniejącą aplikację WinForm, która ma kilka formularzy z tymi samymi przyciskami na dwóch podstawowych przyciskach dla każdego formularza (OK i Anuluj). Obrazy są ustawiane w VS Designer, ustawiając właściwość Image przycisku Button na "Zasób lokalny" i importując żądany obraz.Wyodrębnianie obrazu lokalnego zasobu z formularza formularza/przycisku/obrazu WinForm

Nie mam dostępu do oryginalnych plików obrazów. Jak wyodrębnić obraz z właściwości Image kontrolki Button, której właściwość Image została ustawiona w ten sposób?

Screenshot

Odpowiedz

1

Faktycznie obrazy nie są zapisane w systemie plików, ale dodaje się do pliku RESX swojej postaci (np MainForm.resx) jako base64 kodowane odcinkach reprezentacji. Jeśli wiesz, jak to zrobić, możesz base64-dekodować ten ciąg, zapisać wynik w pliku płaskim i nazwać go poprawnie (musisz znać typ obrazu dla tego).

+0

można dekodować ciągi Base64 do pliku binarnego tutaj: http://www.freeformatter.com/base64-encoder.html – Dan

6

Znalazłem znacznie prostszą metodę niż ręczne dekodowanie Base64.

Zakładając, że forma nazywa się Form1:

  1. Rozwiń Form1.cs w Solution Explorer.
  2. Kliknij dwukrotnie Form1.resx, aby otworzyć projektanta zasobów.
  3. Kliknij prawym przyciskiem myszy obraz, który chcesz wyodrębnić.
  4. Wybierz "Eksportuj do pliku ...".

Dotyczy zasobów z ustawieniem Persistence na "osadzone w .resx". Jeśli parametr Persistence ma wartość "Linked in compile time", obraz już istnieje jako plik w katalogu zasobów twojego projektu.

Screenshot

+0

@KyleMit Dzięki za zdjęcie! – Dan

+1

Jeszcze łatwiejsze. wybierz je z tego okna i naciśnij ctrl + c, a następnie wklej na pulpit lub folder – Franck

Powiązane problemy