bmp Bild in ein Fenster zeichnen

roxX0r

Mitglied
Huhu

ich hab mal eine Frage. Ich möchte ein Bild (bmp Datei) in ein fremdes Fenster zeichnen. handle des Fensters habe ich. Ich habe es schon hinbekommen, einen String mit TextOut darin zu zeichnen, das klappt. Wie ist das nun mit einem Bitmap ? Welche Funktionen benötige ich?
Ich komme aus der Java welt, weshalb ich mich mit C kaum auskenne, wäre für jede Hilfe dankbar...
hier mal noch mein Code, wie ich einen String zeichne:

Code:
	HWND h = (HWND)handle; // wird übergeben
	const char *c_string = (*env)->GetStringUTFChars(env, str, 0);
	int l = strlen(c_string);
	
	HDC hdc = GetDC(h);
	HFONT font = CreateFont(size, 0, 0, 0, FW_NORMAL, 0, 0, 0, 0, 0, 0, 0, 0, "Verdana");
	SelectObject(hdc,font);
	SetBkMode(hdc, TRANSPARENT);
	COLORREF color = RGB(255,255,255);
	SetTextColor(hdc,color);
	TextOut(hdc,x,y,c_string,l);
	ReleaseDC(h, hdc);

danke für die Hilfe
PS: wie resize ich ein Bild? würd es gern auf 50% größe haben....
 
ok ich hab rausgefunden, wieso es nicht funktioniere
begin und endpaint funktioniert nur mit WM_PAINT

habe das ersetzt durch
// HDC hdc = BeginPaint(hWnd, &ps);
HDC hdc = GetDC(hWnd);
...
// EndPaint(hWnd, &ps);
ReleaseDC (hWnd,hdc);

nun klappt es

bleibt noch eine frage: wie verkleinere ich das bitmap? z.B. auf 50% ?
 
ok ich habe "StretchBlt" gefunden, damit klappt das ganz gut

Nur das verkleinerte Bild sieht nicht besonders schön aus, kann man da nich noch antialising drüberlaufen lassen oder so? :)
 
Zurück