Aktyw Forum

Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.

Sprawdź punkty Zarejestruj się

Konwersja bmp do formatu dla lcd 3310

Moderatorzy: Jacek Bogusz, Moderatorzy

Sławek5
-
-
Posty: 485
Rejestracja: 15 sie 2003, o 16:40
Lokalizacja: Szczecin
Kontaktowanie:

Konwersja bmp do formatu dla lcd 3310

Postautor: Sławek5 » 19 cze 2007, o 06:51

cezść.

Próbuje napisać funkcję w C (Borland Builder), która z pliku bmp stworzy mi tablicę z danymi (też dla C - AVR-GCC) dla wyświeltalcza od Nokii 3310.
CAły problem w funkcji która upakuje piksele w bajt zgodny z przesyłaniem danych Horyzontalnie do wyświetlacza.

Macie może jakiś pomysł. Zakładam że bmp jest czarnobiała.


P.S. Są faktycznie w sieci jakieś programy ale ja znalazłem tylko dla pascala w DOS, a chciabym zrobic to dla Windowsa.

Awatar użytkownika
piotr_go
-
-
Posty: 159
Rejestracja: 27 sie 2004, o 12:18
Lokalizacja: far far away

Postautor: piotr_go » 19 cze 2007, o 09:00

Coś takiego kiedyś robiłem.
Bajt jest zapisywany pixelami pionowo ? Bo już nie pamiętam.

Najpierw wrzucasz część graficzną z bmp'ka do tablicy (ale tak żeby jeden pixel = jeden bajt o wartości 0/1) a potem

Kod: Zaznacz cały

i=0; for(y=0; y<ileśtamy; y+=8){ for(x=0; x<ileśtamx; x++){ tablica2[i] = (tablica1[x][y+0] << 7) | (tablica1[x][y+1] << 6) | (tablica1[x][y+2] << 5) | (tablica1[x][y+3] << 4) | (tablica1[x][y+4] << 3) | (tablica1[x][y+5] << 2) | (tablica1[x][y+6] << 1) | (tablica1[x][y+7] << 0); i++; } }
Pewnie coś pomieszałem ale zauważysz to na lcd i poprawisz :)

A potem już tylko wypluć tablica2 w postaci textowej.

Sławek5
-
-
Posty: 485
Rejestracja: 15 sie 2003, o 16:40
Lokalizacja: Szczecin
Kontaktowanie:

Postautor: Sławek5 » 19 cze 2007, o 09:43

Dzięki pomyslę nad tym.
A robiłeś kiedyś coś takiego że miałeś za duży oraz i chciałeś mu zmiejszyć rozdzielczośc tak aby pasowała do wyświetlacza, a najlepiej jeszcze aby można wyło obie wykadrować odpowiedni fragment.

Awatar użytkownika
piotr_go
-
-
Posty: 159
Rejestracja: 27 sie 2004, o 12:18
Lokalizacja: far far away

Postautor: piotr_go » 19 cze 2007, o 09:56

Dla 2 kolorów to zmniejszanie nie ma sensu bo obraz sie strasznie pogorszy.

Sławek5
-
-
Posty: 485
Rejestracja: 15 sie 2003, o 16:40
Lokalizacja: Szczecin
Kontaktowanie:

Postautor: Sławek5 » 19 cze 2007, o 10:11

Zgdza się źle napisałem.
Chodzi mi o to, że zwykle pliki bmp mają np. 500x400 pikseli, a wyświetlacz ma rozdzielczośc 48x84 piksele. Jak teraz wyświetlic taki obaraz na lcd, ale tak aby w polu widzenia wyświetlacza było to co potrzeba, a nie przypadkowy fragment.

Awatar użytkownika
pajaczek
Moderator
Moderator
Posty: 2650
Rejestracja: 24 sty 2005, o 00:39
Lokalizacja: Winny gród

Postautor: pajaczek » 19 cze 2007, o 10:40

Musialbys poszukac gdzies na portalach algorytmicznych, lub w literaturze... ani ja teraz nie pamietam dokladnie, ani nie sa to zbyt proste do wytlumaczenia algorytmy, wiec najsprawniej bedzie jak zajrzysz do ksiazki, ew. www. Jeszcze pikus jesli bys chcial skalowac obraz przez krotnosc 2 (ostatecznie przez pelna liczbe), ale tak jak podales (zwlaszcza ze tu weszlo by rozciaganie w jednej osi...)

Jesli to ma byc "masowe" to moze i warto, dla kilku/nastu obrazkow rozwaz wykozystanie w tym celu poprostu gotowych programow, a sam napisz tylko konwersje do wlasnego formatu (3310).

Sławek5
-
-
Posty: 485
Rejestracja: 15 sie 2003, o 16:40
Lokalizacja: Szczecin
Kontaktowanie:

Postautor: Sławek5 » 19 cze 2007, o 10:48

I to będzie chyba najlepsze wyjście.
Ja próbowałem zrobic to w InfranView, ale coś ten program ma jakies problemy z tym. A co Wy używacie do zrobienia tego?

tomkut
-
-
Posty: 20
Rejestracja: 24 cze 2003, o 08:06
Lokalizacja: Kraków
Kontaktowanie:

Postautor: tomkut » 27 cze 2007, o 12:41

Znalazłem w sieci progamik, w którym definiuje sobie wielkość obrazu w pixelach, wczytuje sobie bmp i on mi generuje tablice w pliku z rozszerzeniem .bas . Ale to łatwo przerobić na tablicę w C. Jak chcesz to podeślę Ci ten programik, tylko daj mi jakiś namiar na siebie..

PZDR

Tomek

Awatar użytkownika
pajaczek
Moderator
Moderator
Posty: 2650
Rejestracja: 24 sty 2005, o 00:39
Lokalizacja: Winny gród

Postautor: pajaczek » 27 cze 2007, o 14:27

Namiary na Slawka przeciez masz... mail, gg, pw.

A programikiem (chocby nazwa) moglbys sie pochwalic tutaj, moze jeszcze ktos bedzie mogl skozystac.

tomkut
-
-
Posty: 20
Rejestracja: 24 cze 2003, o 08:06
Lokalizacja: Kraków
Kontaktowanie:

Postautor: tomkut » 27 cze 2007, o 14:31

Ok, załączam wspomniany wcześniej programik. Jakby ktoś miał jakieś pytania, to postaram sie odpowiedzieć.

Powodzenia ;)

Tomek
Załączniki
fastlcd.zip
Wystarczy rozpakować i uruchomić
(82.7 KiB) Pobrany 496 razy

Wróć do „PLD/FPGA i inne zagadnienia techniki cyfrowej”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 79 gości