Access

  MS Access 2010+  |  Bitmapa *.bmp  |   VBA 7.0

Spis przykładów o bitmapach

01.

12.11.2017

• Struktura bitmapy 24-bit. Nagłówek BITMAPFILEHEADER i BITMAPINFOHEADER •

W 24-bitowej bitmapie nie jest zdefiniowana paleta kolorów, więc bezpośrednio po nagłówku BITMAPINFOHEADER w pliku BMP zapisane są dane obrazu. Kolejne wiersze obrazu zapisane są (zazwyczaj) w odwrotnej kolejności, niż są wyświetlane na obrazie, tj. „z dołu do góry”. Trzy kolejne bajty (w sumie 24 bitów) określają kolor piksela. Kolor piksela zapisywany jest w kolejności B (blue), G (green), R (red) ....

02.

17.11.2017

• Formant Rysunek (Image).Właściwość: Image.Picture i Image.PictureData •

Formant Rysunek (Image) jest najczęściej wykorzystywany w programie Microsoft Access do prezentacji grafiki (rysunku) w formularzu lub w raporcie. Można go stosować zamiennie z formantem Niezwiązana ramka obiektu, w której można wyświetlać dowolny obiekt OLE, który nie jest przechowywany w tabeli.
MS Access przechowuje wyświetlaną bitmapę we właściwości PictureData. Jest ona binarną reprezentacją wyświetlanej bitmapy i jest do odczytu i zapisu we wszystkich widokach. Możliwych jest kilka sposobów przechowywania wyświetlanej bitmapy ....

03.

29.01.2019

• GDI. Kontekst urządzenia. Operacje graficzne na kontekście urządzenia. •

Operacje graficzne w systemie Windows wykonywane są na „kontekście urządzenia”. Identyfikowany poprzez swój uchwyt kontekst urządzenia jest strukturą zarządzaną przez system Windows i zawierającą nie tylko obiekt przeznaczony do wykonywanych operacji graficznych, ale przechowującą również wiele informacji o obiektach rysujących i parametrach określających tryby stosowane przez funkcje GDI podczas rysowania w kontekście urządzenia ....

04.

04.02.2019

• GDI. Pamięciowy, kompatybilny kontekst urządzenia. •

By utworzyć pamięciowy kontekst urządzenia (DC), w oparciu istniejący kontekst ekranu skorzystać należy z funkcji API CreateCompatibleDC(hdc), która tworzy kompatybilny pamięciowy kontekst urządzenia (DC) zgodny z kontekstem o przekazanym uchwycie hdc. Do uzyskanego kontekstu, za pomocą funkcji LoadImage(...) załadowana zostanie z zasobów dyskowych przykładowa, 24 bitowa nieskompresowana bitmapa, którą ....

05.

08.02.2019

• Czy plik jest nieskompresowaną 24-bitową bitmapą?Funkcja bmpIsBmp24bit(...) •

Bitmapa zawiera 14 bajtowy nagłówek BITMAPFILEHEADER w który znajduje się dwuznakowa sygnatura pliku 'BM'  (w zapisie heksadecymalnym &H424D) i dane o wielkości pliku i przesunięciu (offset) do bajtów bitmapy. Pozostałe informacje, takie jak rozmiar struktury nagłówka, szerokość i wysokość bitmapy, głębia kolorów, typ kompresji, zawarte są w 40 bajtowym nagłówku BITMAPINFOHEADER. Skoro już wiemy gdzie szukać informacji dotyczących bitmapy, to możemy zacząć realizować cel, jakim jest sprawdzenie czy plik *.bmp jest nieskompresowaną bitmapą o 24-bitowej głębi kolorów ....

06.

10.02.2019

• Format przechowywania właściwości obrazów.bmpPictureStorageFormat(...) •

Począwszy od wersji Microsoft Access 2007+ w Menu: „Opcje programu Access”/„Bieżąca baza danych”/ mamy do wyboru jedną z dwu opcji:
• Zachowaj format obrazu źródłowego (mniejszy rozmiar pliku). Graficzne pliki źródłowe będą przechowywane    w ich oryginalnym formacie. Rozmiar bazy powiększy się jedynie o wielkość pliku graficznego ....
• Konwertuj wszystkie dane obrazu na mapy bitowe (zgodne z programem Access 2003 i wcześniejszymi    wersjami). MS  Access tworzy kopię oryginalnego pliku obrazu w formacie gotowym do bezpośredniego    wyświetlenia na ekranie ....

07.

08.02.2019

• Czy tablica typu Byte() jest tablicą PictureData?Funkcja bmpIsArrayDIB(...) •

Sprawdza, czy jednowymiarowa, zainicjowana tablica typu Byte() zawiera dane odpowiadające nieskompresowanej bitmapie o 24-bitowej głębi kolorów i kierunku odczytu bajtów obrazu z „z dołu do góry”.
W zależności od wartości właściwości „Format przechowywania właściwości obrazów”, tablica musi spełniać poniższe warunki:

  • dla opcji: „Zachowaj format obrazu bitowego” zawierać minimum 58 bajtów (14 + 40 + 4).
    Dwa pierwsze bajty tablicy muszą zawierać sygnaturę 'BM', a offset do struktury BITMAINFOHEADER wynosi 14 bajtów.
  • dla opcji: „Konwertuj wszystkie dane obrazu na mapy bitowe” zawierać minimum 44 bajty (40 + 4),
    offset do struktury BITMAINFOHEADER wynosi 0 ....

08.

27.02.2019

• Zapis na dysk bitmapy osadzonej w formancie ImageFunkcja bmpDibToDisc(...) •

Chcąc zapisać na dysk 24-bitową bitmapę osadzoną w formancie Image, sprawdzamy za pomocą funkcji bmpIsArrayDIB(...), czy rzeczywiście mamy do czynienia z 24-bitową nieskompresowaną bitmapą. Ponieważ właściwość „Format przechowywania właściwości obrazów” nie określa jednoznacznie sposobu przechowywania bitmapy, sprawdzimy, czy dwa pierwsze bajty tablicy to sygnatura 'BM'. Jeżeli tak to tablica jest kompletną bitmapą, jeżeli dwa pierwsze bajty tablicy nie są sygnaturą 'BM' to musimy sami wypełnić elementy struktury BitmaFileHeader ....

 

 
Akceptuję Polityka prywatności Tekst informacyjny o polityce Cookies