Aplikacja służy do otwierania/zapisywania obrazów z/do plików tekstowych o określonym formacie. Powstała ona w lutym 2018 roku. Kod programu został napisany w języku C# i wykorzystuje on środowisko .NET w wersji 4.6.1.
Aplikacja powstała podczas drugiego etapu rekrutacji do jednej z największych firm informatycznych w Polsce na stanowisko Juniora. Miała ona na celu sprawdzenie moich umiejętności programistycznych, a także sposób radzenia sobie z niebanalnymi problemami.
Aplikacja powinna wczytać obraz z pliku tekstowego o określonym formacie w jak najkrótszym czasie.
Format pliku:
Plik wejściowy to klasyczny plik tekstowy, którego każdy wiersz (zakończony znakiem nowej linii) opisuje jeden piksel. Zapis postaci pojedyńczego piksela opisany jest poniżej:
XX,YY:R,G,B gdzie:
- XX - pozycja X piksela (liczba całkowita)
- YY - pozycja Y piksela (liczba całkowita)
- R - składowa Red koloru piksela (liczba całkowita)
- G - składowa Green koloru piksela (liczba całkowita)
- B - składowa Blue koloru piksela (liczba całkowita)
Przykład:
1,1:253,253,253
1,2:251,251,251
1,3:253,253,253
1,4:253,253,253
1,5:251,251,251
1,6:251,251,251
...
Przykładowy plik do wczytania to sample.txt
Zadanie rekrutacyjne polegające na utworzeniu wizualnej aplikacji, której zadaniem jest wygenerowanie (w jak najkrótszym czasie) obrazu na podstawie wczytanego pliku o określonym formacie.
Opis menu:
- Nowy - czyści zawartość ekranu
- Otwórz - otwiera plik tesktowy i wyświetla obraz na podstawie algorytmu
- Zapisz obraz jako ... - zapisuje wczytany obraz jako plik PNG
- Kowertuj obraz do pliku ... - konwertuje wczytany obraz do pliku tekstowego
- Wyjście - zamyka aplikację
Aby otworzyć obraz należy wybrać opcję otwórz i następnie wybrać plik txt
Wczytany obraz prezentuje się następująco:
W wymaganiach projektu nie było uwzględniona, aby aplikacja potrafiła również działać "w drugą stronę" tzn. żeby potrafiła przekonwertować obraz do pliku tekstowego. Jednakże wydawało mi się to dość logiczną opcją i w ramach rozwoju własnych umiejętności postanowiłem ją dodać. Aby się o tym przekonać wystarczy uruchomić ją z menu głównego i postępować tak jak przy normalnym otwieraniu plików
W razie jakichkolwiek pytań proszę się kontaktować pod mailem lykoszczan@gmail.com