Bilddaten innerhalb Rechteck verschieben

23/07/2010 - 13:00 von Wolfgang Badura | Report spam
Hallo Spezialisten.
Nachdem mein Icon-Erstellungsprogramm nun im Wesentlichen funktioniert
kommen Begehrlichleiten auf:
Ich habe auf ein Form gezeichnet.
Ich kann ein Rechteck erstellen, dieses zoomen und verschieben.
Was ich nun möchte, ist die Zeichnung innerhalb des Rechteckes samt diesem
zu verschieben.

Die Daten innerhalb des Rechteckes kann ich in ein BitMap stellen, und
dieses, jeweils nach den bereits vorhandenen
Paint-Aktivitàten an der neuen Position zeichnen.
Was aber wenn das Verschieben zu Ende ist?
Wie zeichne ich bleibend mit dem Paint Event den neuen Inhalt in das gesamte
Form?
Wie hole ich ihn zur weiteren Bearbeitung wieder heraus.

Vielleicht kann mir jemand die prinzipielle Vorgangsweise erklàren, oder
Links zur Verfügung stellen , wo ich das nachlesen kann.

Mit bestem Dank im Voraus

Wolfgang
 

Lesen sie die antworten

#1 Armin Zingler
23/07/2010 - 13:23 | Warnen spam
Am 23.07.2010 13:00, schrieb Wolfgang Badura:
Hallo Spezialisten.
Nachdem mein Icon-Erstellungsprogramm nun im Wesentlichen funktioniert
kommen Begehrlichleiten auf:
Ich habe auf ein Form gezeichnet.
Ich kann ein Rechteck erstellen, dieses zoomen und verschieben.
Was ich nun möchte, ist die Zeichnung innerhalb des Rechteckes samt diesem
zu verschieben.

Die Daten innerhalb des Rechteckes kann ich in ein BitMap stellen, und
dieses, jeweils nach den bereits vorhandenen
Paint-Aktivitàten an der neuen Position zeichnen.
Was aber wenn das Verschieben zu Ende ist?
Wie zeichne ich bleibend mit dem Paint Event den neuen Inhalt in das gesamte
Form?
Wie hole ich ihn zur weiteren Bearbeitung wieder heraus.

Vielleicht kann mir jemand die prinzipielle Vorgangsweise erklàren, oder
Links zur Verfügung stellen , wo ich das nachlesen kann.



Ich habe zwar nicht genau verstanden, was du willst, aber im Prinzip
zeichnest du anhand verschiedener Parameter mit den Draw*-Methoden des
Graphics-Objekts, das in e.graphics übergeben wird.

Solltest du das Gezeichnete spàter nochmal brauchen, zeichnest du nicht
direkt auf e.graphics sondern auf einer Bitmap (bzw auf dem Graphics-Objekt,
das du mit graphics.fromimage erstellen kannst) und zeichnest anschließend
die Bitmap mit e.graphics.DrawImage*

Eine Bitmap als Hintergrundpuffer ist auch deswegen sinnvoll, weil beim
nàchsten Paint-Ereignis dann nur noch die Bitmap angezeigt werden muss.
Immer, wenn sich irgendwelche Parameter àndern, die sich auf das darzustellende
Bild auswirken, wird die Bitmap neu gezeichnet und die Invalidate-Methode
aufgerufen, damit das Paint-Ereignis ausgelöst wird und darin das neue Bild
gezeichnet wird.

Armin

Ähnliche fragen