AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Bild rund schneiden bzw. machen
Thema durchsuchen
Ansicht
Themen-Optionen

Bild rund schneiden bzw. machen

Ein Thema von LingNeu · begonnen am 7. Nov 2007 · letzter Beitrag vom 9. Nov 2007
Antwort Antwort
LingNeu

Registriert seit: 18. Dez 2006
164 Beiträge
 
Delphi 7 Enterprise
 
#1

Bild rund schneiden bzw. machen

  Alt 7. Nov 2007, 13:37
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
Wenn man denkt, dann denkt man nur, das man denkt!
  Mit Zitat antworten Zitat
kolbaschedder

Registriert seit: 24. Aug 2006
Ort: Schwäbisch Gmünd
55 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Bild rund schneiden bzw. machen

  Alt 7. Nov 2007, 13:43
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
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#3

Re: Bild rund schneiden bzw. machen

  Alt 7. Nov 2007, 13:51
hallo,

das müsste mit Regions zu realisieren sein. Leider habe ich davon wenig Ahnung, aber such doch mal nach "CreateEllipticRgn".
  Mit Zitat antworten Zitat
LingNeu

Registriert seit: 18. Dez 2006
164 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Bild rund schneiden bzw. machen

  Alt 7. Nov 2007, 14:08
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
Wenn man denkt, dann denkt man nur, das man denkt!
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Bild rund schneiden bzw. machen

  Alt 7. Nov 2007, 14:25
Warum erstellst du nicht schon das Zufallsbildchen nur innerhalb des Kreises?

Und so machst du das Image rund (bevor du malst)
selectobject(image1.Canvas.Handle,createellipticrgn(20,100,50,10));
Zitat:
HRGN CreateEllipticRgn(

int nLeftRect, // x-coordinate of the upper-left corner of the bounding rectangle
int nTopRect, // y-coordinate of the upper-left corner of the bounding rectangle
int nRightRect, // x-coordinate of the lower-right corner of the bounding rectangle
int nBottomRect // y-coordinate of the lower-right corner of the bounding rectangle
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
LingNeu

Registriert seit: 18. Dez 2006
164 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Bild rund schneiden bzw. machen

  Alt 7. Nov 2007, 15:48
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
Wenn man denkt, dann denkt man nur, das man denkt!
  Mit Zitat antworten Zitat
LingNeu

Registriert seit: 18. Dez 2006
164 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Bild rund schneiden bzw. machen

  Alt 9. Nov 2007, 13:44
@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
Wenn man denkt, dann denkt man nur, das man denkt!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:03 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz