Seite 1 von 1

Einfaches Malprogramm

Verfasst: 12.07.2010 20:42
von Chris79
Hallo,
ich habe bereits die Suchfunktion bemüht , aber bisher nur herausgefunden was NICHT geht, z.B. die Linienstärke beim Zeichnen (ohne GDI zu nutzen) einzustellen.

Mein Vorhaben ist, ein SEHR rudimentäres Malprogramm ohne Menüballast für ein behindertes Kind zu coden, habe mir dazu einen Touchscreen mit Mausemulation besorgt, damit es mit dem Finger malen kann.
Generelle Programmierkenntnisse habe ich.

Hier ein kleines Mockup:
Bild

Die zwei Hauptprobleme, die ich habe:

- Freihand-Malen mit verschiedenen Strichstärken
- Aufziehen von Linien, Rechtecken und Ellipsen mit verschiedenen Strichstärken
Dabei möchte ich plattformunabhängig bleiben

Habe schon im Codearchiv nach ähnlichen Programmen gesucht, wurde aber (noch) nicht fündig.

Über Tipps und Hinweise zu meinem Problem würde ich mich sehr freuen,
<)

Schon mal Danke im voraus,
Chris

Re: Einfaches Malprogramm

Verfasst: 12.07.2010 21:20
von NicTheQuick
Ich würde dir empfehlen mit einem Screen zu arbeiten, womit du schon mal Hardware-Unterstützung verwenden könntest.
Dort kannst du dir dann z.B. ein Sprite erstellen, was die Pinselform darstellen soll, wie z.B. der Kreis.
Bekommst du jetzt nacheinander zwei MOUSE_MOVE-Events, kannst du alle Koordinaten zwischen den beiden Position berechnen und dort dein Pinsel-Sprite darsellen.
Als eigentliches Bild würde ich ein weiteres Sprite verwenden und mittels UseBuffer() darauf malen und nur das anzeigen.

Re: Einfaches Malprogramm

Verfasst: 13.07.2010 14:21
von Chris79
Danke Nic,
sind die 2D-Zeichenfunktionen von PureBasic denn nicht geeignet für diese Anwendung? Gibt's nicht doch irgendeine userlib, die etwas 'aufgebohrte' Grafikfunktionen bietet (habe schon X2D ausprobiert, ist sehr eingeschränkt)?

Re: Einfaches Malprogramm

Verfasst: 13.07.2010 22:11
von NicTheQuick
Natürlich sind die 2DDrawing-Funktionen in ihrer Vielfalt gegenüber Sprites sehr beschränkt. Für dein einfaches Malprogramm würde 2DDrawing zwar auch reichen, aber je nachdem wie wild das Kind auf dem virtuellen Bild malt, kann es schnell zu verzögertem Zeichnen kommen, hoher CPU-Belastung oder zu eckigen statt runden Kurven (siehe MS Paint bei schneller Mausbewegung).

Das ist allerdings nur ein Vorschlag meinerseits, der allerdings aus viel Erfahrung rührt.

Mittlerweile bin ich aber auf etwas viel netteres gestoßen. Nämlich libavg zusammen mit Python. Aber das nur am Rande.