logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[atmega8][bascom] przeźroczystość w graficznym LCD

Colina2 23 Lis 2009 15:36 1851 9
REKLAMA
  • #1 7298487
    Colina2
    Poziom 16  
    Witam!
    Wie ktoś jak zrobić aby przy wyświetlaniu jednego obrazka na drugim w tym pierwszym wszystko to co ma być "białe" było przeźroczyste? :D

    Rysunek pokazuje o co mi chodzi

    [atmega8][bascom] przeźroczystość w graficznym LCD
  • REKLAMA
  • #2 7298569
    KJ
    Poziom 31  
    Podłączam się pod w/w pytanie :) właśnie miałem pisać posta na ten sam temat. Jeżeli ktoś ma pomysł jak to zrealizować to proszę o pomoc, Wyświetlacz na sterowniku T6963C.
  • REKLAMA
  • #3 7298644
    amino
    Poziom 17  
    Dość łatwo to zrobić. Trzeba napisać programik który zakoduje plik *.bgf na ciąg punktów x,y np jako DATA. Musicie wykrywać tylko te punkty które mają być zaczernione. Resztę pomijacie. Jak już będziecie mieć pozycje wszystkich zaczernionych punktów to korzystacie z polecenia PSET i jako x i y ładujecie wartości ze zmiennych pozycji punktów.
  • #4 7298902
    KJ
    Poziom 31  
    Nie da sie szybciej ?? bo przy LCD 128x240 to będzie trwało sto lat :D
  • REKLAMA
  • #5 7299266
    Colina2
    Poziom 16  
    Ja się zastanawiałem czy nie wystarczyło by pobawić się z bibliotekami które są w bascomie (korzystam z wyświetlacza na sterowniku ks0108) tak żeby nie wyłączały pikseli które są "białe" ale niestety nie znam się na tym za bardzo :(
  • REKLAMA
  • #6 7299713
    AVRowiec
    Poziom 18  
    nie wiem jaki macie dostęp do każdego piksela ale czy nie wystarczy zrobić zwykłego OR/AND/EX ?
    Przynajmniej ja tak robiłem kiedyś kiedyś...
  • #7 7299749
    Colina2
    Poziom 16  
    Możesz trochę rozwinąć myśl? Bo szczerze mówiąc nie kumam ;)
  • #8 7335632
    Colina2
    Poziom 16  
    kurde no widzę że zostanie mi tylko włączać piksel po pikselu;/
  • #9 7335874
    tmf
    VIP Zasłużony dla elektroda
    Niekoniecnzie. Zakladam, ze to jest wyswietlacz monochromatyczny. W takim wypadku kodujesz przezroczyste tlo jako bit o wartosci 0, piksel jako 1. Teraz zeby to wyswietlic pobierasz bajt z pamieci obrazu, wykonujesz operacje OR z twoim rysunkiem i zapisujesz go ponownie. Dzieki temu prosto robisz od razu 8 bitow (8 pixeli) i nie trwa to wiecznosci. Jesli to kolorowy LCD to sprawa jest gorsza i trzeba sprawdzac pixel po pixelu. Jesli obrazek nie jest wielokrotnoscia 8 pixeli to ostatni rzad przed wykonaniem OR maskujesz operacja AND, ew. dla prostoty przygotowywujesz tak bitmapy, zeby byly wielokrotnoscia 8 pixeli, przy czym niewykorzystane maja byc rowne 0.
  • #10 7336172
    Colina2
    Poziom 16  
    No dobra. Wszystko pięknie. Tylko jak to zrobić? Powiem szczerze że programować to dopiero zaczynam i przekodowywanie oraz ponowne zapisywanie obrazka jest dla mnie na razie chyba nieosiągalne - no chyba że ktoś mi dokładnie wytłumaczy jak to zrobić.
REKLAMA