Autor Beitrag
Waldkauz
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 102



BeitragVerfasst: Sa 07.03.09 16:47 
Hallo!

Ich bin neu hier im Forum, und werde mich, bei Gelegenheit, auch mal vorstellen.
Zur Zeit habe ich es aber relativ stressig, daher würde es mich freuen wenn ich zunächst mal meine Probleme hier lösen könnte.

Ich hab da nämlich zwei kleine Probleme - also, ich erstelle ein TImage (es muss ein TImage sein)(400x400) ;

1.)wenn man auf einen Button klickt, soll ein Kreis zufälliger Größe und zufälliger Position im Image erscheinen. Hauptsache es ist ein Kreis.

2.)Es gibt ein Editfeld, und der Text soll im TImage ausgegeben werden (nachdem auf Button2 geklickt wurde). Dass der Text im Image angezeigt wird, habe ich bereits geschafft, aber wie kann ich den Style, also Schriftgröße, - farbe etc. des Textes im Image (nicht im Editfeld) ändern?

Würde mich freuen, wenn ihr mir helfen könnt


Zuletzt bearbeitet von Waldkauz am Sa 07.03.09 21:39, insgesamt 1-mal bearbeitet
Xentar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2077
Erhaltene Danke: 2

Win XP
Delphi 5 Ent., Delphi 2007 Prof
BeitragVerfasst: Sa 07.03.09 17:04 
Wir machen hier keine Hausaufgaben für dich..
Wo genau kommst du nicht weiter?
Nebenbei: Eine Frage pro Thread.

Zufallszahl:
Im OnCreate des Formulars randomize; aufrufen. Danach, wenn du eine Zufallszahl brauchst:
ausblenden Delphi-Quelltext
1:
MyInteger := random(10); // Gibt Zufallszahlen von 0 bis 9					


Kreis malen:
Habs grad nicht genau im Kopf, aber müsste sowas wie TCanvas.Circle(X, Y, Durchmesser); sein.

_________________
PROGRAMMER: A device for converting coffee into software.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19346
Erhaltene Danke: 1754

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Sa 07.03.09 17:05 
Hallo und :welcome: !

Du solltest die Regeln im Forum beachten. Eine Frage pro Thread! Sonst geht nur alles durcheinander.

Da das dein erster Beitrag ist, antworte ich einmal trotzdem.
user profile iconWaldkauz hat folgendes geschrieben Zum zitierten Posting springen:
1.)wenn man auf einen Button klickt, soll ein Kreis zufälliger Größe und zufälliger Position im Image erscheinen. Hauptsache es ist ein Kreis.
Wie wäre es damit:
ausblenden Delphi-Quelltext
1:
DeinImage.Canvas.Ellipse(1010100100);					
Zu zufallszahlen hat user profile iconXentar ja schon etwas geschrieben.

user profile iconWaldkauz hat folgendes geschrieben Zum zitierten Posting springen:
aber wie kann ich den Style, also Schriftgröße, - farbe etc. des Textes im Image (nicht im Editfeld) ändern?
Indem du vor deinem Canvas.TextOut die Schrift in Canvas.Font setzt. Die Syntaxergänzung und die Hilfe sollten dir zeigen, welche Möglichkeiten es da gibt.

user profile iconXentar hat folgendes geschrieben Zum zitierten Posting springen:
Kreis malen:
Habs grad nicht genau im Kopf, aber müsste sowas wie TCanvas.Circle(X, Y, Durchmesser); sein.
Circle gibt es nicht, ein Kreis ist ja nur ein Spezialfall einer Ellipse.
Waldkauz Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 102



BeitragVerfasst: Sa 07.03.09 21:34 
Sorry, wenn ich etwas forsch war.
Ich habe auch nicht verlangt, dass hier jemand die Hausaufgaben für mich macht.
Ich denke halt nur, dass stundenlanges herumprobieren nicht der Sinn einer Hausaufgabe ist, und dann wollte ich mich hier mal schlau machen.

Danke übrigens für eure Hilfe- das mit dem Font-Style klappt aber das mit der Zufallsposition verstehe ich nicht ganz.
Um meine Frage zu definieren:

Image1.Canvas.Ellipse(random(400),random(400),?,?);

Das mit der Zufallsposition klappt auch, nur die Zufallsgröße will nicht - es entstehen außerdem Ellipsen.
Xentar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2077
Erhaltene Danke: 2

Win XP
Delphi 5 Ent., Delphi 2007 Prof
BeitragVerfasst: Sa 07.03.09 21:41 
Du erzeugst
1. Zufallszahl für die X Position
2. Zufallszahl für die Y Position
3. Zufallszahl für die Größe (3. UND 4. Parameter von Ellipse), damit ist die Ellipse genau so hoch wie breit, und somit ein Kreis. Dafür musst du dir diese in einer Variablen speichern, sonst hast du zwei verschiedene Werte.

_________________
PROGRAMMER: A device for converting coffee into software.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19346
Erhaltene Danke: 1754

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Sa 07.03.09 21:48 
Am besten definiere dir ein Rechteck, das ist der Typ TRect. Auch den kannst du an Ellipse übergeben.
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
var
  NewCircleRect: TRect;
begin
  NewCircleRect.Left :=
  NewCircleRect.Top :=
  NewCircleRect.Right :=
  NewCircleRect.Bottom :=
  Image1.Canvas.Ellipse(NewCircleRect);
So kannst du bequem die Abmessung festlegen. ;-)
Waldkauz Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 102



BeitragVerfasst: Sa 07.03.09 21:52 
user profile iconXentar hat folgendes geschrieben Zum zitierten Posting springen:
Du erzeugst
1. Zufallszahl für die X Position
2. Zufallszahl für die Y Position
3. Zufallszahl für die Größe (3. UND 4. Parameter von Ellipse), damit ist die Ellipse genau so hoch wie breit, und somit ein Kreis. Dafür musst du dir diese in einer Variablen speichern, sonst hast du zwei verschiedene Werte.



Jetzt geht's - vielen Dank!