Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Malen mit der Maus

14 views
Skip to first unread message

Walantis Giosis

unread,
Sep 4, 1997, 3:00:00 AM9/4/97
to

Salve !!!!

Ich möchte ein Freihandzeichnen mit der Maus programmieren.
Meine Methode:
putpixel(mousex,mousey,1)

Aber es entstehen immer Lücken zwischen den Pixeln...wie kann ich eine
durchgehende Pixel-Reihe mit der Maus ziehen ?


Ciao / Wg


Helmut Linde

unread,
Sep 5, 1997, 3:00:00 AM9/5/97
to

-=> Es wurde mal wieder gelabert. (Walantis Giosis an Alle). Ich auch!
WG> Salve !!!!

WG> Ich möchte ein Freihandzeichnen mit der Maus programmieren.
WG> Meine Methode:
WG> putpixel(mousex,mousey,1)

WG> Aber es entstehen immer Lücken zwischen den Pixeln...wie kann ich eine
WG> durchgehende Pixel-Reihe mit der Maus ziehen ?

LINE (altx,alty)-(neux,neuy);

WG> Ciao / Wg
CU!


___ Blue Wave/QWK v2.20 [NR]

Lars Duesing

unread,
Sep 5, 1997, 3:00:00 AM9/5/97
to

Hallo Walantis,

» Am Donnerstag, den 04. September 1997 schrieb Walantis Giosis
» an Alle zum Thema "Malen mit der Maus" folgendes:

WG> Ich möchte ein Freihandzeichnen mit der Maus programmieren.
WG> Meine Methode:
WG> putpixel(mousex,mousey,1)
WG> Aber es entstehen immer Lücken zwischen den Pixeln...wie kann ich eine
WG> durchgehende Pixel-Reihe mit der Maus ziehen ?

Per LineTo(mousex,mousey,1); {Oder so ähnlich, bin grad zu faul... ;) }

Ciao,
Lars

IN: LDue...@gmx.de Fido: 2:2480/3511 TelMi: 0166-10030173

Danke für ihre Aufmerksamkeit, und nun weiter im Text... ;)

Martin Stigge

unread,
Sep 6, 1997, 3:00:00 AM9/6/97
to

Hi!

On 04 Sep 97, Walantis Giosis wrote to Alle:

WG>Ich möchte ein Freihandzeichnen mit der Maus programmieren.
WG>Meine Methode:
WG> putpixel(mousex,mousey,1)

WG>Aber es entstehen immer Lücken zwischen den Pixeln...wie kann ich eine
WG>durchgehende Pixel-Reihe mit der Maus ziehen ?

Probiere mal, immer vom vorherigen Pixel zum aktuellen eine Linie zu
ziehen. In Pascal-BGI am einfachsten mit lineto. Dort kann es dir
allerdings passieren, daß da wo vorher große Lücken zwischen den Pixeln
waren jetzt "eckige" Linien entstehen. Um das möglichst zu minimieren, muß
deine Darstell-Routine möglichst schnell sein, um auch wirklich jede
Positionsänderung sofort zu zeichnen.


Bye,
Martin & Roland / StiggeBrothers/TVC \ sti...@usa.net

Clemens Holzhueter

unread,
Sep 6, 1997, 3:00:00 AM9/6/97
to

Datum: 06 Sep 97
AbsenderName: Walantis Giosis
Brett: /FIDO/PASCAL.GER
Thema: Malen mit der Maus:

WG> Ich möchte ein Freihandzeichnen mit der Maus programmieren.
WG> Meine Methode:
WG> putpixel(mousex,mousey,1)
WG>
WG> Aber es entstehen immer Lücken zwischen den Pixeln...wie kann ich eine
WG> durchgehende Pixel-Reihe mit der Maus ziehen ?

Du musst Linien zwischen den Mauskoordinaten machen:

line(mousexalt,mouseyalt,mousex,mousey,1);

Das sollte reichen.


CU
Clemens

Paul Aschenborn

unread,
Sep 7, 1997, 3:00:00 AM9/7/97
to

Hallo Walantis !

WG>Ich möchte ein Freihandzeichnen mit der Maus programmieren.
WG>Meine Methode:
WG> putpixel(mousex,mousey,1)
WG>Aber es entstehen immer Lücken zwischen den Pixeln...wie kann ich eine
WG>durchgehende Pixel-Reihe mit der Maus ziehen ?

Der Mauscursor sollte ja "ohne" Spur übers Bild ziehen! Wenn Du also nun
die Maus bewegt, wird der Hintergrund gesichert und die Maus gezeichnet.
Bei der nächsten Bewegung wird dann der Hintergrund wieder hergestellt,
der neue gesichert und die Maus gezeichnet.

Malst Du nun "über" den Mauscursor, wird der "alte" Hintergrund über die
Linie gemalt. Der Hintergrund ist also aus Zeiten, als die Linie noch
nicht auf dem Bildschirm war.

Du mußt also sicherstellen, daß der Hitergrund des Mauscursor
"aktualisiert" wird, bevor Du weitermachst.

Das ginge, wenn Du VOR dem Zeichnen den Cursor disablest und nachher
wieder einschaltest ... geht zwar auch anders, aber hängt dann davon ab,
wie Du die Maus verwaltest ...

Viele Grüsse

Paul

Florian Michel

unread,
Sep 7, 1997, 3:00:00 AM9/7/97
to

Hallo Walantis!

WG> Ich möchte ein Freihandzeichnen mit der Maus programmieren.
WG> Meine Methode:
WG> putpixel(mousex,mousey,1)
WG> Aber es entstehen immer Lücken zwischen den Pixeln...wie kann ich eine
WG> durchgehende Pixel-Reihe mit der Maus ziehen ?

line (mxold,myold,mx,my,1);

Verbindet die Einzelnen Punkte. Bei Paintbrush wird das auch so gemacht.

-----------------------------------------------------
Bis demnaechst - Florian JOE of TEAMWORK TEAM

Andre Carlin

unread,
Sep 7, 1997, 3:00:00 AM9/7/97
to

#am *04.09.97* schrieb *Walantis_Giosis* #ueber *Malen mit der Maus:*

WG> putpixel(mousex,mousey,1)
WG>
WG> Aber es entstehen immer Luecken zwischen den Pixeln...wie kann ich eine


WG> durchgehende Pixel-Reihe mit der Maus ziehen ?

entweder du bewegst die maus gaaaanz laaaaangsam oder
machst-was-weiss-ich-was...

cu Sascha
*I wish life had a scroll-back buffer.....*

Andre Carlin

unread,
Sep 10, 1997, 3:00:00 AM9/10/97
to

#am *06.09.97* schrieb *Martin_Stigge* #ueber *Malen mit der Maus:*

WG>> Ich moechte ein Freihandzeichnen mit der Maus programmieren.


WG>> Meine Methode:
WG>> putpixel(mousex,mousey,1)

WG>> Aber es entstehen immer Luecken zwischen den Pixeln...wie kann ich eine
WG>> durchgehende Pixel-Reihe mit der Maus ziehen ?

MS> Probiere mal, immer vom vorherigen Pixel zum aktuellen eine Linie zu
MS> ziehen. In Pascal-BGI am einfachsten mit lineto. Dort kann es dir
MS> allerdings passieren, dass da wo vorher grosse Luecken zwischen den Pixeln
MS> waren jetzt "eckige" Linien entstehen. Um das moeglichst zu minimieren,
jo, da sieht du ja such bei malproggies (CD, PS, PSP, ...) ist halt so, das
du um die akt pos abzugragen, einen interrupt callen musst, und das sauert
halt...

cu Tramp
*I used to have money in the bank----now I run a BBS*

Karsten Roscher

unread,
Sep 12, 1997, 3:00:00 AM9/12/97
to

Walantis Giosis@2:2455/139.17 meinte am 04.09.97
zum Thema "Malen mit der Maus":

> Ich möchte ein Freihandzeichnen mit der Maus programmieren.
> Meine Methode:
> putpixel(mousex,mousey,1)
> Aber es entstehen immer Lücken zwischen den Pixeln...wie kann ich eine


> durchgehende Pixel-Reihe mit der Maus ziehen ?

Als grobe Methode wuerde ich sagen, dass du einfach die alten
Mauskoordinaten sicherst und dann eine Linie zwischen den alten und neuen
ziehst. Solange du dann nich Speedy, die schnellste Maus von Mexico, hast,
sollte es so funktionieren. Habe ich auch so gemacht...

_CIAO_, _S--F--X_ (aka _Karsten_) MEMBER of _ExtremE Software_

Martin Stigge

unread,
Sep 15, 1997, 3:00:00 AM9/15/97
to

Hi!

On 10 Sep 97, Andre Carlin wrote to Martin Stigge:

MS>> Dort kann es dir allerdings passieren, dass da wo vorher grosse
MS>> Luecken zwischen den Pixeln waren jetzt "eckige" Linien entstehen.
AC>jo, da sieht du ja such bei malproggies (CD, PS, PSP, ...) ist halt so, das
AC>du um die akt pos abzugragen, einen interrupt callen musst, und das sauert
AC>halt...
Oder du läßt dich halt "vom Int callen"...

Boris Berninger

unread,
Sep 15, 1997, 3:00:00 AM9/15/97
to

Hallo Hannes,

WG>>> putpixel(mousex,mousey,1)
WG>>>
WG>>> Aber es entstehen immer Luecken zwischen den Pixeln...wie kann ich eine
WG>>> durchgehende Pixel-Reihe mit der Maus ziehen ?
AC>> entweder du bewegst die maus gaaaanz laaaaangsam oder
AC>> machst-was-weiss-ich-was...
HJ> das reicht nicht. manche mäuse springen bei links bzw. oben Bewegungen
HJ> immer 2 Pixel.... wie man das ändert, weiß ich allerdings auch nicht.
HJ> Dieses Phänomen beobachtet man aber auch bei zahlreichen kommerziellen/
HJ> professionellen Anwendungen.

Auf dem Malprogramm (naja eher Mini-Editor) fuer meinen 286er haben
ich den praktischen LineTO - Befehl aus egavga.bgi verwendet.

Servus
Boris


Thomas Jahn

unread,
Sep 17, 1997, 3:00:00 AM9/17/97
to

Walantis Giosis@2:2455/139.17 brachte am 04.09.97 zum Thema
==-- Malen mit der Maus --== auch mal was herraus!

Tach, Walantis!

WG> Ich möchte ein Freihandzeichnen mit der Maus programmieren.
WG> Meine Methode:
WG> putpixel(mousex,mousey,1)
WG>
WG> Aber es entstehen immer Lücken zwischen den Pixeln...wie kann ich eine


WG> durchgehende Pixel-Reihe mit der Maus ziehen ?

Du kannst ja die Verschiedenen Mauscoordinaten immer mit linien verbinden.
Dazu merkst Du Dir immer die letzten Coordinaten.

Um das ganze noch zu verfeinern (bei schneller Mausbewegung sehen
Rundungen recht eckig aus), kannst Du noch mit der Funktion 1Ch des
Maus-Interrupts (33h) Die Interrupt-Rate des Maushandlers erhöhen:

Eingabe AX = 001Ch
BX = Interrupt Rate
Bit Bedeutung
0 keine Interrupts
1 30 Interrupts pro Sekunde
2 50 Interrupts pro Sekunde
3 100 Interrupts pro Sekunde
4 200 Interrupts pro Sekunde
5-15 keine Bedeutung
Ausgabe keine

Wenn Du mehrere Bits setzt, zählt das niederwertigste Bit. Logisch ist
natürlich, dass wenn Du die Rate hoch setzt, wird dein Programm um so
langsamer, weil es immer oefter durch den Haushandler unterbrochen wird.

Servus, Thomas!

Hannes Jakschitsch

unread,
Sep 12, 1997, 3:00:00 AM9/12/97
to

[ _PASCAL.GER_ ]

[ _Andre Carlin@2:2468/6062_ ] zum Thema
[ _Re: Malen mit der Maus_ (20:20 am 07.09.97) ]
Erhalten am [ _12.09.97_ ]

Hallo Andre,

AC> #am *04.09.97* schrieb *Walantis_Giosis* #ueber *Malen mit der Maus:*

WG>> putpixel(mousex,mousey,1)
WG>>
WG>> Aber es entstehen immer Luecken zwischen den Pixeln...wie kann ich eine


WG>> durchgehende Pixel-Reihe mit der Maus ziehen ?

AC> entweder du bewegst die maus gaaaanz laaaaangsam oder
AC> machst-was-weiss-ich-was...

das reicht nicht. manche mäuse springen bei links bzw. oben Bewegungen

immer 2 Pixel.... wie man das ändert, weiß ich allerdings auch nicht.

Dieses Phänomen beobachtet man aber auch bei zahlreichen kommerziellen/

professionellen Anwendungen.

Keep goin'

_Hannes_

* Ich bin der Dorn im Auge der Gesellschaft *

0 new messages