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

[M128][Bascom] Umieszczenie obrazka na ujemnych pozycjach

anglik20 12 Lis 2010 01:35 1328 7
REKLAMA
  • #1 8732930
    anglik20
    Poziom 14  
    Witam,

    mam taki problem, chce zrobić w moim wyświetlaczu LCD + touchscreen opcje 'przewijanego' MENU, tak aby z boku dodać pasek przewijania. Mój problem polega na tym, że nie bardzo wiem jak 'przyciąć' podczas działania programu czcionkę lub grafikę. Chodzi o to, że jak chce napis umieścić na pozycji [x,y] 0, -5 to to przycięte -5 wędruje gdzieś indziej w ekranie lub rozsypuje się, zaś w przypadku czcionki pojawiają się jakieś inne znaki. Czy jest jakaś metoda na przycięcie tekstu i grafiki programowo?

    Mógłbym generować znaki zapalając ręcznie pixele, ale to zajmuje dużo miejsca w pamięci (na samą literę 'A' zużycie flash procka wyniosło ok. 1%). Mógłbym dodać wszystkie ręcznie przycięte grafiki, ale to też pewnie zajmie dużo pamięci.

    W projektowanym urządzeniu chce zrobić obsługę wielu języków, więc tych grafik było by tysiące. Co innego gdy będę miał pojedyncze znaki i będę je sobie doklejał.

    Czekam na jakiekolwiek propozycję.
  • REKLAMA
  • #2 8732989
    asembler
    Poziom 32  
    O ile zrozumialem to w procedurze wyswietlania na ekran trzeba sprawdzac warunki przekroczenia zakresów(okienka)
  • REKLAMA
  • #4 8733977
    anglik20
    Poziom 14  
    Obie podpowiedzi wnoszą coś do tematu. Jednak nie wiem czy się rozumiemy, więc daję obrazek pomocniczy:
    [M128][Bascom] Umieszczenie obrazka na ujemnych pozycjach
    Chodzi o to, że chce napis ALA wyświetlić tak, żeby 4 górne pixele były przycięte, poza obszarem LCD.

    piotrva, widzę że w linku do strony jaką podałeś są jakieś operacje na pixelach z wygenerowanego tekstu z czcionki.
  • REKLAMA
  • #5 8734419
    Konto nie istnieje
    Poziom 1  
  • REKLAMA
  • #6 8734564
    anglik20
    Poziom 14  
    No tak, tylko jak mam np. Locate, to jak mam przechwycić pixele? Bo z ręcznej metody pixel po pixelu to rezygnuje, bo to zajmie sporo miejsca. Chce wykorzystać gotowe czcionki.

    Chyba, ze się nie da inaczej niż pixel po pixelu.
  • #7 8734694
    Konto nie istnieje
    Poziom 1  
  • #8 8734712
    anglik20
    Poziom 14  
    Ok, czyli ręczne, pixelowe generowanie obrazków i znaków.

    Dzięki.

    EDIT:

    Bawię się teraz w generowanie znaków i mam taki problem, że nie wchodzą mi parametry do procedury:

    Declare Sub Set_pixels(byval Xt As Byte , Byval Yt As Byte , Byval Lic As Byte) 
    
    Call Set_pixels(0 , 0 , 12)
    
    Sub Set_pixels(byval Xt As Byte , Byval Yt As Byte , Byval Lic As Byte)
    Dim _t As Byte
    _t = Lic
       If Lic.0 = 1 Then
          _t = Xt + 4
          Pset _t , Yt , 1
       End If
       If Lic.1 = 1 Then
          _t = Xt + 3
          Pset _t , Yt , 1
       End If
       If Lic.2 = 1 Then
          _t = Xt + 2
          Pset _t , Yt , 1
       End If
       If Lic.3 = 1 Then
          _t = Xt + 1
          Pset _t , Yt , 1
       End If
       If Lic.4 = 1 Then
          Pset Xt , Yt , 1
       End If
    End Sub
    


    Kod sprawdzałem w pętli głównej - działa dobrze, jednak problem polega na tym, że dane: 0, 0, 12 nie wchodzą do procedury. Nie mam pomysłu dla czego.
REKLAMA