Skocz do zawartości

GDI : zmiana parametrow fontu i piora , bmp


Recommended Posts

Napisano

Jest jakis sposob aby zamiast tworzenia wielu roznych fontow edytowac tylko parametry juz utworzonego fontu czy piora ?
Czesto mam fonty i piora w zmiennych static, poza tym przeciez to marnotrawstwo bezcennej pamieci.

PS. Czy jest moze funkcja systemowa win32 ktora robi zrzut grafiki (screenshot-regionshoot) z np GDI-regionu do pliku *.bmp ? (lub zbior funkcji pomocnych wykonania do takiej operacji)

Napisano

Z tego co mi wiadomo to nei ma takiego sposobu - chyba ze sobie sam napiszesz taka klase no ale ona i tak nie bedzie tego robila inaczej niz ty.

Co do pytania drugiego to nie wiem - zreszta sma jestem ciekaw.

Napisano

Co do pytania 1: to jesli dobrze alokujesz i zwalniasz pamiec to nie ma tu mowi o zadnym marnowaniu.

Pamiec jest po to zeby jej uzywac w racionalny sposob. Katowanie siebie jako programisty skonczylo sie z chwila pojawienia sie wiekszych ilosci RAM,itp

2. poszukaj czegos na temat GetDIBits, nie bede podawal rozwiazania bo latwo je samemu zaimplementowac.

Sprawa jest prosta, jesli masz jakis kontekst pobierasz jego "pixelki" potem robisz sobie z mini co dusza zapragnie, mozesz je wyrysowac na powrot zaden problem.

Napisano

Bezposredniej funkcji do zrzutu okna o nieregularnych ksztaltach to raczej nie ma. Natomiast aby zrzucic caly, badz czesc ekranu wystarcza Ci funkcje (delphi):

var
 width, height,x,y: integer;
 dc:hDC;
 bm:hBitmap;
begin
 width := 50; height := 100; //wysokosc i szerokosc zrzutu kawalka ekranu
 x=5; y=20; //skad
 dc:=CreateComaptibleDC(GetDC(0));
 bm:=CreateCompatibleBitmap(GetDC(0),width,height);
 BitBlt(dc,0,0,width,height,GetDC(0),x,y,SRCCOPY);

 //tutaj mozesz obsluzyc uchwyt bm (bitmapy z rzutem ekranu), np. zapisac do pliku

 DeleteDC(dc);
 DeleteObject(bm);
end;
Napisano

Ok, jesli sie nie da w locie fontami zonglowac, to chcialbym zrobic tak:

1. Odczytac wszystkie parametry istniejacego fonta.
2. Zmienic kilka paramsow.
3. Zniszczyc istniejacy font.
4. Utworzyc nowy font.

Mam problemy z pkt 1 i 2. W ogole fonty to moja pieta achillesowa :(

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...