gdi: bitmap brush
-
hallo,
muss einen screensaver in c(++) schreiben und benutz dafür die winapi. hab das grundgerüst bis jetzt aus beispielen zusammengemanscht und bin dabei die gdi funktionen auszuprobieren. für den schoner brauch ich jetz eine ellipse, die gefüllt ist mit einem ausschnitt aus meinem hbitmap. mit CreatePatternBrush() hab ich schon rumprobiert. bei einem kleinen bitmap wiederholt er das bild als texttur. bei einem großen bitmap (800x600 oder so) macht er gar nix

frage lautet also: wie kann ich mir einen brush erzeugen, der meine ellipse mit einem bild-ausschnitt aus meinem bitmap füllt ?
danke,
gast
-
Nimm keinen Brush. Erzeuge eine ClipReagion, die das Zeichen begrenzt und verwende dann BitBlt oder sonst eine Operation um die Bitmap zu kopieren!
-
Hallo,
danke, mit BitBlt funktinoiert das schonmal. wie geht das mit der ClipRegion? finde in der winapi funktionen wie GetClipRgn und SelectClipRgn aber hab mit denen nichts sinnvolles zustande bringen können. kriegt man damit auch elliptische regionen hin? hast du ein codebeispiel?
-
*push*
hab jetz schon einiges versucht mit CreateEllipticalRegion() und so, aber es hat mir kein bild angezeigt
hat jemand vielleicht nen kurzen beiuspielcode?danke

-
Lies Dir mal diesen Artikel durch:
http://www.codeproject.com/gdi/cliprgnguide.asp
Danach weißt Du wie es mit einer Clipping Region geht...