Builder.cz - Informacni server o programovani

Odběr fotomagazínu

Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!

 

Zadejte Vaši e-mailovou adresu:

Kamarád fotí rád?

Přihlas ho k odběru fotomagazínu!

 

Zadejte e-mailovou adresu kamaráda:



problem s ciernobielym STATIC oknom

Seznam témat     Nová odpověď

Přihlásit se     Registrace     Zapomenuté heslo

Re: problem s ciernobielym STATIC oknom

Autor: RadekChalupa

20:50:42 25.12.2008

Viz popis fce CreateCompatibleBitmap v dokumentaci Windows SDK:

Note: When a memory device context is created, it initially has a 1-by-1
monochrome bitmap selected into it. If this memory device context is used
in CreateCompatibleBitmap, the bitmap that is created is a monochrome
bitmap.

>
>
> super vďaka moc funguje to ako to ma aj keď stale nechápem prečo sa to
> zobrazovalo čiernobielo. Ešte raz vďaka moooooc.



Příspěvek zaslán emailem

Citovat příspěvek

 

Re: problem s ciernobielym STATIC oknom

Autor: Tomkiboy

20:45:49 25.12.2008

super vďaka moc funguje to ako to ma aj keď stale nechápem prečo sa to zobrazovalo čiernobielo. Ešte raz vďaka moooooc.

Citovat příspěvek

 

Re: problem s ciernobielym STATIC oknom

Autor: RadekChalupa

20:33:59 25.12.2008

Jako 1. parametr CreateCompaibleBitmap zkus použít HDC celé obrazovky
(GetDC(NULL)). Jinak osobně bych to asi řešil přes owner-draw static do
kterého pak vykraslovat cokoli podle libosti (třeba reagovat na resize
zvětšením náhledi apod.).

>
>
> Dobrý deň, mám problém s oknom typu STATIC (na dialogovom okne), do
> ktorého chcem zobraziť kus zmenšeného BMP obrázku. Keďže nechcem
> zobraziť celý obrázok, ale len časť, tak si vytvorim pamatove HDC a
> vytvorim BITMAPu a do nej vykreslim cast obrazku. Tuto BITMAPu potom
> poslem tomu oknu ako obrazok, ale obrazok sa mi zobrazi ciernobiely
> stale nemozem prist na to preco. Ak nastavim ten povodny obrazok ako
> bitmapu (infobitmapa) tak sa mi zobrazi pekne farebne, ale ak to
> nastavim z toho pamatoveho tak ciernobielo.
>
> HBITMAP infobitmapa = (HBITMAP)LoadImage(hInst, szSubor, IMAGE_BITMAP,
> 0, 0, LR_LOADFROMFILE | LR_VGACOLOR);
>
> HDC hdcMem = CreateCompatibleDC(NULL);
>
> static HBITMAP nahladovabmp = CreateCompatibleBitmap(hdcMem,
> (bitem.bmWidth/bitem.bmHeight)*bitem.bmHeight, bitem.bmHeight);
>
> HBITMAP Oldbmp = (HBITMAP)SelectObject(hdcMem, nahladovabmp);
>
> DrawState(hdcMem, NULL, NULL,(LPARAM)infobitmapa, 0, 0,0,
> (bitem.bmWidth/bitem.bmHeight)*bitem.bmHeight, bitem.bmHeight,
> DST_BITMAP | DSS_NORMAL);
>
> static HWND hNahlad = CreateWindow(TEXT("STATIC"),TEXT(""), WS_CHILD |
> WS_VISIBLE | SS_BITMAP | SS_REALSIZECONTROL, nahlad.left, nahlad.top,
> ((bitem.bmWidth/bitem.bmHeight)*konstanta),
> konstanta, hwndDlg,(HMENU)NULL,hInst,NULL);
>
> SendMessage(hNahlad, STM_SETIMAGE,(WPARAM)IMAGE_BITMAP,
> (LPARAM)nahladovabmp);
>
> SelectObject(hdcMem, Oldbmp);
> DeleteDC(hdcMem);



Příspěvek zaslán emailem

Citovat příspěvek

 

problem s ciernobielym STATIC oknom

Autor: Tomkiboy

20:20:19 25.12.2008

Dobrý deň, mám problém s oknom typu STATIC (na dialogovom okne), do ktorého chcem zobraziť kus zmenšeného BMP obrázku. Keďže nechcem zobraziť celý obrázok, ale len časť, tak si vytvorim pamatove HDC a vytvorim BITMAPu a do nej vykreslim cast obrazku. Tuto BITMAPu potom poslem tomu oknu ako obrazok, ale obrazok sa mi zobrazi ciernobiely stale nemozem prist na to preco. Ak nastavim ten povodny obrazok ako bitmapu (infobitmapa) tak sa mi zobrazi pekne farebne, ale ak to nastavim z toho pamatoveho tak ciernobielo.

HBITMAP infobitmapa = (HBITMAP)LoadImage(hInst, szSubor, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE | LR_VGACOLOR);

HDC hdcMem = CreateCompatibleDC(NULL);

static HBITMAP nahladovabmp = CreateCompatibleBitmap(hdcMem, (bitem.bmWidth/bitem.bmHeight)*bitem.bmHeight, bitem.bmHeight);

HBITMAP Oldbmp = (HBITMAP)SelectObject(hdcMem, nahladovabmp);

DrawState(hdcMem, NULL, NULL,(LPARAM)infobitmapa, 0, 0,0, (bitem.bmWidth/bitem.bmHeight)*bitem.bmHeight, bitem.bmHeight, DST_BITMAP | DSS_NORMAL);

static HWND hNahlad = CreateWindow(TEXT("STATIC"),TEXT(""), WS_CHILD | WS_VISIBLE | SS_BITMAP | SS_REALSIZECONTROL, nahlad.left, nahlad.top, ((bitem.bmWidth/bitem.bmHeight)*konstanta), konstanta, hwndDlg,(HMENU)NULL,hInst,NULL);

SendMessage(hNahlad, STM_SETIMAGE,(WPARAM)IMAGE_BITMAP, (LPARAM)nahladovabmp);

SelectObject(hdcMem, Oldbmp);
DeleteDC(hdcMem);

Citovat příspěvek

 

 

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: