eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaKonwersja obrazka do tablicy znakówRe: Konwersja obrazka do tablicy znaków
  • Path: news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
    From: MKi <e...@t...op.pl>
    Newsgroups: pl.misc.elektronika
    Subject: Re: Konwersja obrazka do tablicy znaków
    Date: Tue, 06 Mar 2012 18:41:29 +0100
    Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
    Lines: 43
    Message-ID: <jj5i8b$3jr$1@inews.gazeta.pl>
    References: <jj5dng$ndd$1@inews.gazeta.pl>
    NNTP-Posting-Host: host-109-107-4-49.ip.jarsat.pl
    Mime-Version: 1.0
    Content-Type: text/plain; charset=UTF-8; format=flowed
    Content-Transfer-Encoding: 8bit
    X-Trace: inews.gazeta.pl 1331055691 3707 109.107.4.49 (6 Mar 2012 17:41:31 GMT)
    X-Complaints-To: u...@a...pl
    NNTP-Posting-Date: Tue, 6 Mar 2012 17:41:31 +0000 (UTC)
    X-User: m.ki
    In-Reply-To: <jj5dng$ndd$1@inews.gazeta.pl>
    User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; pl; rv:1.9.2.27) Gecko/20120216
    Thunderbird/3.1.19
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:627436
    [ ukryj nagłówki ]

    W dniu 2012-03-06 17:24, Viki pisze:
    > Witam.
    >
    > Mam przykładowy program wyświetlający bitmapę na wyświetlaczu siemens S60.
    > Obrazka nie posiadam, mam tylko jego zrzut do tablicy znaków.
    >
    > Wygląda to tak:
    >
    > prog_uint16_t color_logo[] = {
    > // Image width: 50px, Height: 50px
    > // Image size: 5000 bytes (Width x Height x 2(word=2bytes))
    > 0xFFD9, 0xFFFB, 0xFFFD, 0xFFFF, 0xF7FF, 0xEFDF, 0xF7FF, 0xF7FF,

    [...]

    > Na wyświetlaczu pojawia się przykładowy obrazek.
    > No i próbuję wydedukować jak przejść z obrazka na taki zapis.
    > Jeśli dobrze rozumiem z opisu tablicy obrazek ma rozdzielczość 50x50
    > pikseli.
    > Przeliczyłem ilość elementów w tablicy i wyszło mi 2496 elementów.
    > Skąd więc zapis:
    > // Image size: 5000 bytes (Width x Height x 2(word=2bytes)) ??

    50 razy 50 to 2500 pikseli. Czyli tablica powinna mieć 2500 pozycji.
    Nie pomyliłeś się o 4? A może autor tablicy zaniedbał 4 pikseli -
    to by były śmieci w rogu (prawym dolnym zapewne).

    Ewidentnie jest 16 bitów na piksel. To może być kodowanie 565
    (czyli 5 bitów czerwonego, 6 bitów zielonego, 5 bitów niebieskiego).
    Ale może być dowolne inne...

    Ja dla takich celów piszę sobie małe programiki, nie bazuję na
    ściągnięciach z sieci - szybciej mi idzie. Jeśli kodowanie kolorów
    jest 565, to w C możesz zastosować makro

    #define RGB(r,g,b) (((r) & 0xF8) << 8) | (((g) & 0xFC) << 3) | (((b) &
    0xF8) >> 3)

    które z 3 liczb 8-bitowych utworzy Ci liczbę szesnastobitową w rzeczonym
    kodowaniu.

    Pozdrowienia,
    MKi

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: