Skocz do zawartości

zapisywanie bitmapy przez GDI+


Recommended Posts

Napisano

witam.
znowu będzie o bitmapkach. Chodzi mi o to żeby zapisać za pomocą funkcji GDI+ bitmapkę zawierającą to co nabazgrałem sobie w okienku, czyli to co nabazgrałem na kontekście albo coś takiego.

Napisano

naprawde nikt nie wie jak to zrobic ?? :|
mecze sie z tym pare dni i doszlem tylko jak zmienic format zapisanej bitmapki na dysku
plz nie odsylajcie mnie do msdn.wiadomoco.com bo jade na modemie... 9_9

Napisano

Problem polega na tym, ze wszystkim wystarcza gdi. Wiadomo, ze gdi+ jest lepszy, ale my mamy swoje sposoby na zapisywanie plikow do innych formatow niz bmp. Jest to ciezsza robota, ale uczy.

Napisano

no dobra to podajcie mi sposob jak zapisac to za pomoca gdi zapisac to co w okienku jest tzn. jak to przechwycic i przerobic zeby zdatne do zapisania bylo.
Co do GDi+ to na tym forum mi radzono zebym sie na niego pzesiadl

Napisano

Dlatego, ze ma wiele ulatwien zwiazanych z grafika i dlatego. Ja narazie korzystam ze starego gdi, bo gdi+ nie jest jeszcze tak bardzo rozpowszechnione. Ja mam windwos 98 i bym musial instalowac jakas pewnie nakladke aby u mnie to dzialalo.

Napisano

bemon: Mógłbyś się wysilić i przeczytać tego helpa do gdi+. Jak napisał Twardy każdy ma swoje sposoby na zapisywanie do pliku, ja robię to tak

Bitmap obrazek(bx,by);
HDC kon=GetDC(hwnd);
BYTE r,g,b;
for(int y=0;y<by;y++)
for(int x=0;x<bx;x++)
{
DWORD kolor=GetPixel(kon,x,y);
r=GetRValue(kolor);
g=GetGValue(kolor);
b=GetBValue(kolor);
obrazek.SetPixel(x,y,Color(255, r, g, b));
}
ReleaseDC(hwnd,kon);

CLSID   encoderClsid;
Status  stat;

GetEncoderClsid(L"image/bmp", &encoderClsid);
stat = obrazek.Save(nazwa pliku, &encoderClsid, NULL);
if(stat != Ok) return false ;

bx,by to wysokośc i szerokość okna
GetEncoderClsid ta funkcja jest w helpie, jako parametry możesz wpisywać image/bmp image/jpg image/png jak chcesz zapisywać do określonego formatu.

Twardy: gdi+ działa bez problemu w win98 jak przekopiuje się plik gdiplus.dll

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gość
Odpowiedz...

×   Wkleiłeś zawartość bez formatowania.   Usuń formatowanie

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Utwórz nowe...