![]() |
Bild rund schneiden bzw. machen
Hallo Delphifans,
auf einem TImage erstelle ich ein Zufallsbildchen aus bunten Punkten. Da das Image rechteckförmig ist, kann ich leider kein rundes Bild machen. Gibt es eine Möglichkeit das erstellte Bild so zuzuschneiden, das es rund wird ? Ich dachte schon daran, evtl. das Bild abzufotografieren und extern irgendwie rund zu machen und dann wieder auf dem Image zu laden. Das gelingt mir leider auch nicht. Wäre für jeden Hinweis sehr dankbar. Vielleicht hat jemand eine einfache Lösung. Das ganze dient übrigens als Ausgangsbasis für ein Spiel für behinderte Kinder. gruss LingNeu |
Re: Bild rund schneiden bzw. machen
Hallo,
Du kannst im nachhinein alle Punkte ausserhalb des Kreises mit der Hintergrundfarbe übermalen. Nicht sehr performant, aber funktioniert ungefähr so. Bedingung ob ausserhalb des Kreises : (x-x0)^2 + (y-y0)^2 > r^2 Wobei x0, y0 den Mittelpunkt des Kreises beschreibt, und r den Radius. also bsw. x0 := image1.width div 2; y0 := image1.Height div 2; r := x0; MfG Kolbaschedder |
Re: Bild rund schneiden bzw. machen
hallo,
das müsste mit Regions zu realisieren sein. Leider habe ich davon wenig Ahnung, aber such doch mal nach "CreateEllipticRgn". |
Re: Bild rund schneiden bzw. machen
Hallo zusammen,
danke Euch für die Anregung @NamenLozer, in der Delphihilfe ist nichts davon drin. Im Internet habe ich was gefunden, das geht aber anscheinend nur mit einer Form und ich brauch das ja auf einem Image. @kolbaschedder Deine Idee ist gut. Muss nur schauen, wie ich die Formel einbaue. Bin eine mathematische Null. Besten Dank nochmals LingNeu |
Re: Bild rund schneiden bzw. machen
Warum erstellst du nicht schon das Zufallsbildchen nur innerhalb des Kreises?
Und so machst du das Image rund (bevor du malst)
Delphi-Quellcode:
selectobject(image1.Canvas.Handle,createellipticrgn(20,100,50,10));
Zitat:
|
Re: Bild rund schneiden bzw. machen
Hallo Sirius,
danke dir für diese Idee. Leider ist der Bereich trotzdem immer rechteckig. Wo ich auch noch Probs habe, bei den Koordinaten. Ich habe ein Image mit Height:=200; Width:=200; Der Kreis sollte jetzt im Durchmesser 100 haben. Was müsste ich da angeben. Mit den Parametern von Dir kommt der Bereich rechteckig. selectobject(Imghinten.Canvas.Handle,createellipti crgn(x,y,x2,y2)); Merci Gruss LingNeu |
Re: Bild rund schneiden bzw. machen
@sirius,
habe jetzt deine Idee nochmals probiert in einem neuen Project und des funktioniert einwandfrei. Weis noch nicht, warum es im "alten" Programm nicht geht. Aber das bekomme ich schon noch hin. Danke Dir nochmals herzlich ciao LingNeu |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:57 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz