-
Path: news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
From: " ślamazar" <f...@W...gazeta.pl>
Newsgroups: pl.comp.programming
Subject: Re: [winapi] mulÄ?cy repaint przy resize
Date: Tue, 15 Jun 2010 08:04:23 +0000 (UTC)
Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
Lines: 62
Message-ID: <hv7c66$e57$1@inews.gazeta.pl>
References: <hv4q4j$1pl4$1@opal.icpnet.pl> <6...@n...onet.pl>
<hv4thv$1t6j$1@opal.icpnet.pl>
NNTP-Posting-Host: localhost
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: 8bit
X-Trace: inews.gazeta.pl 1276589063 14503 172.20.26.242 (15 Jun 2010 08:04:23 GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Tue, 15 Jun 2010 08:04:23 +0000 (UTC)
X-User: fir
X-Forwarded-For: 83.6.138.148
X-Remote-IP: localhost
Xref: news-archive.icm.edu.pl pl.comp.programming:185765
[ ukryj 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
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
- C++. Podróż Po Języku - komentarz
- "Wuj dobra rada" z KDAB rozważa: Choosing the Right Programming Language for Your Embedded Linux Device
Najnowsze wątki
- 2025-05-28 Tani darmowy manager plików
- 2025-05-28 Gdańsk => Programista Mainframe (z/OS, Assembler) <=
- 2025-05-28 Re: Nowe zalecenie w Mini Netykiecie dotyczące wklejania linków URL
- 2025-05-28 Białystok => Team Lead Data Engineer (obszar Snowflake) <=
- 2025-05-28 Warszawa => Programista Microsoft Dynamics 365 Finance & Operations (D
- 2025-05-28 Ryga => Konsultant Wdrożeniowy Comarch XL/Optima (Księgowość i Kad
- 2025-05-28 Citi --> Velo
- 2025-05-28 Warszawa => MLOps Engineer <=
- 2025-05-28 Warszawa => Specjalista rekrutacji IT <=
- 2025-05-28 Szok
- 2025-05-28 Żerniki => Dyspozytor Międzynarodowy <=
- 2025-05-28 Szczecin => Key Account Manager IT <=
- 2025-05-28 Warszawa => NMS System Administrator <=
- 2025-05-28 Warszawa => Java Full Stack Developer (Angular2+) <=
- 2025-05-28 Uwaga na spadki....