Rechteck oder Oval wie bei Paint zeichnen
Übersicht

![]() |
HagbardBetreff: Rechteck oder Oval wie bei Paint zeichnen |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi,
ich denke der Titel sagt alles. Wie könnte ich ein Rechteck bei Mausklick an die da aktuelle Stelle zeichnen? Natürlich verlange ich keinen Code, würde mich aber über einen Ansatz freuen ![]() |
||
- Zuletzt bearbeitet von Hagbard am Sa, Apr 17, 2010 16:05, insgesamt einmal bearbeitet
Chris02 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich würds mal so versuchen:
MouseX() und MouseY() als X und Y koordinaten des Rechteks |
||
![]() |
Hagbard |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich glaube, ich meine was anderes | ||
- Zuletzt bearbeitet von Hagbard am Sa, Apr 17, 2010 16:07, insgesamt einmal bearbeitet
![]() |
Jan_Ehemaliger Admin |
![]() Antworten mit Zitat ![]() |
---|---|---|
setbuffer imagebuffer(bildhandle) | ||
between angels and insects |
![]() |
Hagbard |
![]() Antworten mit Zitat ![]() |
---|---|---|
ok, werds mir mal ansehen. | ||
Hallosager |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich würde es auch so machen(hab ich auch mal):
-Man kann auswählen, welche Farbe das Rechteck/Oval haben soll.(Input und If-Bedingungen) -Man muss mit der Maus klicken und dann wird der Bildschirm nicht gelöscht.(Until mousehit) -Einen farbigen Punkt oder so als Mauszeiger nehmen. -Irgendwie machen, dass es aufhört zu malen, wenn man wieder klickt.(Cls) -Danach eine Maustaste drücken um eine andere Farbe zu nehmen. -Danach steht auf dem Pc, dass man das Bild speichern kann, wenn man einen Screenshot macht.(Print) |
||
![]() |
Ctuchik |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du musst ja quasi sobald die Maustaste gedrückt wird die aktuelle MouseX() und MouseY() Koordinate speichern. Dann wartest du bis die Maus wieder losgelassen wird und hast eine zweite X und Y Koordinate. Dann zeichnest du das Rechteck anhand dieser Koordinaten! Breite und Höhe sind dann halt X2-X1 und Y2-Y1. Achtung: Man kann das Rechteck dann nur richtung rechts und unten ziehen. Links und oben wären die Koordinate ja genau umgekehrt, wenn du verstehst was ich meine!
So willst du das doch, oder? Das man halt wie bei Paint ein Rechteck ziehen kann! |
||
Zu den Nebenwirkungen gehören trockener Mund, Übelkeit, Erbrechen, Harnstau, schmerzhafter rektaler Juckreiz, Halluzinationen, Demenz, Psychose, Koma, Tod und Mundgeruch!
Magie eignet sich nicht für alle! Fraget euren Arzt oder Apotheker! |
![]() |
Hagbard |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi,
danke, dass du einen Vorschlag geschrieben hast. ![]() Ich habe eh vor alle neu gezeichneten Rechtecke und Ovale in einer Datei abzuspeichern, damit man das später wieder laden kann. mfg Blacky |
||
- Zuletzt bearbeitet von Hagbard am Sa, Apr 17, 2010 16:08, insgesamt einmal bearbeitet
![]() |
DivineDominion |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn du mit Types umgehen kannst, erstelle bei Mausklick eine neue TRechteck-Instanz oder sowas mit Startpositiin MouseX() und Y und lass die Endkoordinaten offen. In der Schleife, die alle Rechtecke zeichnet, malst du die ohne Endposition einfach von ihrer Startposition bis an die aktuelle MouseX() und Y Koordinaten, bis man die Maustaste loslässt. Dann gibst du denen ohne Endposition die dann aktuelln Mauskoordinaten und voilà!
Abspeichern am besten mit WriteByte oder WriteInt oder sowas, weil eine ghanze ZEILE viel zu "groß" ist ![]() |
||
christian.tietze@gmail.com - https://christiantietze.de
macOS |
![]() |
Ctuchik |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn du nicht vor hast einzubauen dass man Rechtecke wieder löschen bzw. vergrößern oder verkleinern kann, dann kannst du das ganze auch als Bild speichern.
Ansonsten sind Types wohl wirklich die beste Lösung: Code: [AUSKLAPPEN] Type rechteck Field x%,y% Field w%,h% End Type Und dann ne Variable 'maus_pressed' (o.ä.) mit dem letzten Mauszustand BlitzBasic: [AUSKLAPPEN]
EDIT: Um das ganze hinterher in einer Datei zu speichern gehst du alle Rechtecke in ner For blubb.rechteck = Each rechteck Schleife durch und speicherst jeweils 4 Zahlen: x,y,w,h Dazu empfiehlt sich WriteShort (das benutzt 2 Byte, kann also Werte bis 65536, das reicht völlig aus) Beim wieder Auslesen liest du jeweils 4 Zahlen mit ReadShort und speicherst die wieder in einem neuen Type Rechteck! MfG Ctuchik |
||
Zu den Nebenwirkungen gehören trockener Mund, Übelkeit, Erbrechen, Harnstau, schmerzhafter rektaler Juckreiz, Halluzinationen, Demenz, Psychose, Koma, Tod und Mundgeruch!
Magie eignet sich nicht für alle! Fraget euren Arzt oder Apotheker! |
![]() |
Hagbard |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi,
danke nochmal für die Ansätze. Ich kenne mich zwar noch nicht mit Types aus, aber schließlich sind in 4 Tagen Sommerferien. ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group