Laden...

Bitmap zurecht schneiden

Erstellt von Technologie100 vor 13 Jahren Letzter Beitrag vor 13 Jahren 2.415 Views
T
Technologie100 Themenstarter:in
24 Beiträge seit 2010
vor 13 Jahren
Bitmap zurecht schneiden

Hallo,

Ich habe ein kleines Problem. Das ist mein erstes Projekt, was sich mit der Grafik-Programmierung beschäftigt.

Ich habe ein kleines Program, das macht mir Screenshots und ich muss die Screenshots auswerten und abarbeiten.

*Bild siehe Anhang*

Ich würde gerne dynamisch auslesen können, was in dem Roten makierten Rahmen steht. Sprich, auch wenn ich ein anderes Design von Windows anwende, sollte es nur den rot makierten Rahmen auslesen. Hat jemand eine Idee? Hab schon gelesen, mit Rectangle und Graphics ist das machbar, aber wie dynamisch? Jemand eine Idee?

D
7 Beiträge seit 2010
vor 13 Jahren

Wie wärs mit einem Grafik-Steuerelement? Und dann liest du den Inhalt der Grafik-Box aus. Der ist ja unabhängig vom Formular bzw. dessen Rändern und die Grafik-Box hat ihr eigenes Koordinatensystem.

lg, DarthBane

T
Technologie100 Themenstarter:in
24 Beiträge seit 2010
vor 13 Jahren

Was genau meinst du mit Grafik-Steuerelement?

Gruß

D
7 Beiträge seit 2010
vor 13 Jahren

Solche Steuerelemente wie PictureBox (C#), PaintBox, Image (beide Pascal bzw. Delphi). Die sind zum Anzeigen von Bildern da oder zum darauf zeichnen (z.B. wenn man ein Zeichenprogramm programmieren möchte).

lg, DarthBane

49.485 Beiträge seit 2005
vor 13 Jahren

Hallo Technologie100,

Ich würde gerne dynamisch auslesen können, was in dem Roten makierten Rahmen steht.

hast du den roten Rahmen für uns eingefügt oder ist der tatsächlich so im Screenshot enthalten? Und was heißt auslesen? Einfach nur - wie im Titel angedeutet - die Bitmap so zurechtschneiden, dass nur der Teil im roten Rahmen übrig bleibt?

herbivore

T
Technologie100 Themenstarter:in
24 Beiträge seit 2010
vor 13 Jahren

hast du den roten Rahmen für uns eingefügt oder ist der tatsächlich so im Screenshot enthalten? Und was heißt auslesen? Einfach nur - wie im Titel angedeutet - die Bitmap so zurechtschneiden, dass nur der Teil im roten Rahmen übrig bleibt?

Hallo,

Danke für deine Antwort.

Ich möchte das Bitmap so zurecht schneiden, das alles enthalten ist was im roten rahmen ist, nein in Echt ist es nicht rot. Wollte es nur so zeigen, aber das würde ich anpassen. Das ist kein Problem. Wollte nur sehen, wie ihr vorgehen würdet.

Ich würde die einen Pixel oben links suchen, der nur einmal im Bild vorkommt und dann X runter und Y rechts und dann das Bitmap so schneiden, das nur noch was im roten Rahmen drin vorkommt, angezeigt wird.

49.485 Beiträge seit 2005
vor 13 Jahren

Hallo Technologie100,

... nein in Echt ist es nicht rot.

dann ist halt die Frage, woran man sonst erkennen kann, welcher Teil gewünscht ist. Bevor man etwas programmieren kann, muss man es erstmal überhaupt beschreiben, also Kriterien benennen können.

Ich würde die einen Pixel oben links suchen, ...

Das verstehe ich so, dass der gesuchte Teil schon einen Rahmen hat, nur in einer anderen Farbe. So einen Rahmen kann man natürlich wirklich in der Art finden, wie du es beschrieben hast.

Vielleicht wäre es aber einfacher, von vornherein nur von dem gewünschten Teil einen Screenshot zu machen. Wenn dieser Teil ein Panel oder eine GroupBox ist (wie es schon DarthBane angedeutet hat) wäre das vermutlich einfacher und besser.

herbivore

T
Technologie100 Themenstarter:in
24 Beiträge seit 2010
vor 13 Jahren

Hallo,

Ein Screenshot wie das Bitmap am anfang aussieht und eins wie es am Ende aussehen soll.

Ich möchte halt das Bitmap so zurecht schneiden, das die Windows Leiste vom Fenster ausgeschnitten wird und nur der Inhalt des Fensters im Bitmap zufinden ist.

MfG

Screenshot 1: http://i54.tinypic.com/2jd2d8g.jpg (So siehts am Anfang aus)
Screenshot 2: http://i52.tinypic.com/35jjps1.jpg (So solls am Ende aussehen)

49.485 Beiträge seit 2005
vor 13 Jahren

Hallo Technologie100,

solange du nichts an den Windows-Einstellungen änderst, kannst du doch Höhe und Breite des Titels und der Rahmen festcodieren. Sprich du weißt ja die genauen Offsets von dem Bereich, der dich interessiert. Das ist zwar nicht besonders robust, scheint mir aber für deinen Anwendungsfall vollkommen ausreichend.

Einen Ausschnitt erzeugst du am einfachsten, indem du eine neue Bitmap in der gewünschten Größe erstellst, dir zu dieser mit Graphics.FromImage ein Graphics-Objekt holst und mit diesem den gewünschten Ausschnitt mit Graphics.DrawImage aus der alten Bitmap in die neue zeichnest.

Ich hoffe übrigens, du hast nichts vor, was gegen die AGB des Anbieters verstößt. Insbesondere als kein Bot-Programm zu erstellen. Es wäre sehr unfair von dir, uns bei etwas rechtswidrigem um Hilfe zu bitten.

herbivore