W ramach szybkiego przypomnienia sobie Ruby On Rails postanowiłam napisać prostą aplikację, która będzie przechowywała dane o posiadanej kolekcji koralików. Wraz z załadowaniem zdjęcia paczki koralików automatycznie zostaną pobrane informacje o jej kolorze.
Model BeadPack inaczej paczka koralików, będzie posiadała też atrybut ilość w postaci float, gdyż zdarza się, że zostaje np, połowa danego opakowania. Oprócz tego będzie też wielkość, typ i kolor.
Pewien pomysł na architekturę aplikacji znalazłam w artykule. Informację o kolorach zdjęcia będzie przechowywała tabela pośrednia BeadColorPack, dane o samym kolorze będzie obsługiwał osobny model o nazwie BeadColor.
Postanowiłam użyć gem Miro, który oprócz dostępu do wartości RGB danego koloru daje też informacje o jego HSL oraz o udziale procentowym.
Na obecnym etapie aplikacja wygląda tak:
Przygotowałam kilka zdjęć paczek koralików, starając się aby dobrze odwzorować rzeczywisty kolor jak również, aby nie obejmować tła. Prawdę mówiąc zrobienie dobrego zdjęcia było tutaj największym wyzwaniem. Tak wygląda ekran dodawania nowej paczki koralików:
Po zapisaniu widać efekt działania aplikacji:
Dodatkowo, po najechaniu kursorem na kolory palety pojawia się wartość procentowa udziału danego koloru w całości obrazka.
To, o co można dalej rozbudować projekt, to:
- wybranie, ile kolorów ma zostać wygenerowanych w palecie (teraz domyślnie są cztery)
- znalezienie propozycji koralików podobnych
- znalezienie propozycji koralików kontrastowych
- możliwość usuwania wybranych kolorów z palety (np. koloru tła, jeśli jest)
Działającą aplikację możesz zobaczyć tutaj 🙂 Zapraszam do wypróbowania – można załadować własne zdjęcie i zobaczyć efekty.
Bardzo dobry pomysł. Spróbuję go wykorzystać. Jeśli kiedyś zainteresujesz się krosnem, to może zechce Ci się wymyśleć coś do cyfryzacji wzorów na haft krzyżykowy?
Dobry pomysł 🙂 w najnowszej aplikacji będę miała na uwadze Twoją propocyzję