-
Data: 2010-06-15 08:04:23
Temat: Re: [winapi] mulÄ?cy repaint przy resize
Od: " ślamazar" <f...@W...gazeta.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]> fir <p...@p...onet.pl> napisał(a):
> > no muszę looknąć - dawno i zarazem rzadko używałem czystego winapi
> > (i choć zarazem szkielet i najczesciej używane funkcje mam
> > opanowane to mam pewne luki) kwestia tego że ja swój bufor
> > mam w wygodnym mi formacie (i dopiero przy rysowaniu
> > wartosci przetwarzam na kolory pixeli) - pewnie dla tego bitblta
> > musialbym przygotowac go specjalnie, mozesz powiedzec pare słow
> > o przygotowaniu tego bufora do blitnięcia? [da sie blitnac od razu
> > np cos takiego "unsigned char [400][300][3];" ?]
>
> Właśnie tak robiłem.
> BYTE bitmap[800*600*3];
> void drawf(HDC lnghdc) {
> HDC fHDC = CreateCompatibleDC(NULL);
> BITMAPINFOHEADER bmiHeader;
> bmiHeader.biSize=sizeof(bmiHeader);
> bmiHeader.biWidth = 800;
> bmiHeader.biHeight = -600;
> bmiHeader.biPlanes = 1;
> bmiHeader.biBitCount = 24;
> bmiHeader.biCompression = BI_RGB;
> bmiHeader.biSizeImage = 0;
> bmiHeader.biXPelsPerMeter =0;
> bmiHeader.biYPelsPerMeter =0;
> bmiHeader.biClrUsed = 0;
> bmiHeader.biClrImportant = 0;
> BITMAPINFO pbmi;
> pbmi.bmiHeader = bmiHeader;
> void *ppvBits = NULL;
> HBITMAP fBitmap = CreateDIBSection (fHDC, &pbmi, DIB_RGB_COLORS, &ppvBits,
> NULL, NULL);
> SelectObject(fHDC,fBitmap);
> CopyMemory(ppvBits,bitmap,800*600*3);
> BitBlt(lnghdc,0,0,800,600,fHDC,0,0,SRCCOPY);
> DeleteObject(fBitmap);
> }
>
ok, zasiadłem do maszyny i to zasadniczo działa, tnx tylko ze
widzę tu chyba trzy błedy/problemy
1) o ile sie orientuje samo CreatedibSection alokuje sobie bufor
ktory jest dostepny pod ppvBits[] i mozna go uzywac,
a CopyMemory z jeszcze jednego innego bufora jest fatalną redundancją
i marnotrastwem i ramu i procka
2) całą to inicjalicacje przed BitBlt jak i destrukcje
po, warto zrobic tylko raz na poczatku i raz na koncu a nie wespol
z kazdym BitBlitem
3) w moim helpie do winapi jest napisane zeby deletowac zarowno
bitmape jak i kontekst a ty deletujesz tylko bitmape; tu mam niejasnosc
bo bitmapa jest czescia kontekstu i nie wiem czy o tyle wystarczy
dletnac tylko kontekst czy tez np wczesniej jego podczesc czyli bitmape :-/
czy ktos moglby to wyjasnic - powiedziec pare słow
fir
--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Następne wpisy z tego wątku
- 15.06.10 08:14 Grzegorz Niemirowski
- 15.06.10 08:31 p...@p...onet.pl
Najnowsze wątki z tej grupy
- "Wuj dobra rada" z KDAB rozważa: Choosing the Right Programming Language for Your Embedded Linux Device
- Nowa ustawa o ochronie praw autorskich - opis problemu i szkic ustawy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
Najnowsze wątki
- 2025-04-02 Gliwice => IT Expert (Network Systems area) <=
- 2025-04-02 Kraków => Spedytor Międzynarodowy <=
- 2025-04-02 Ostrów Wielkopolski => Konsultant Wdrożeniowy Comarch XL/Optima (Ksi
- 2025-04-02 Warszawa => Generative AI Engineer <=
- 2025-04-02 Szczecin => Key Account Manager IT <=
- 2025-04-02 Kraków => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-04-02 Kraków => Business Development Manager - Network and Network Security
- 2025-04-02 Warszawa => Dyrektor Sprzedaży (rozwiązania Cloud) <=
- 2025-04-02 Warszawa => Sales Director (Cloud solutions) <=
- 2025-04-01 Telefonia VoIP
- 2025-04-01 Na miejscu zginelo dwóch którzy przewozeni byli w bagazniku.
- 2025-04-01 Darmowa autostrada
- 2025-04-01 Sprzedaję Twizy
- 2025-04-01 [OT] Dobry dysk na komornika i rozwody
- 2025-04-01 Żerniki => Dyspozytor Międzynarodowy <=