Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Bitmap zurecht schneiden
Technologie100
myCSharp.de - Member



Dabei seit:
Beiträge: 24

Themenstarter:

Bitmap zurecht schneiden

beantworten | zitieren | melden

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?
Attachments
private Nachricht | Beiträge des Benutzers
DarthBane
myCSharp.de - Member



Dabei seit:
Beiträge: 7

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
Technologie100
myCSharp.de - Member



Dabei seit:
Beiträge: 24

Themenstarter:

beantworten | zitieren | melden

Was genau meinst du mit Grafik-Steuerelement?

Gruß
private Nachricht | Beiträge des Benutzers
DarthBane
myCSharp.de - Member



Dabei seit:
Beiträge: 7

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 49.486
Herkunft: Berlin

beantworten | zitieren | melden

Hallo Technologie100,
Zitat
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
private Nachricht | Beiträge des Benutzers
Technologie100
myCSharp.de - Member



Dabei seit:
Beiträge: 24

Themenstarter:

beantworten | zitieren | melden

Zitat von herbivore
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.
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 49.486
Herkunft: Berlin

beantworten | zitieren | melden

Hallo Technologie100,
Zitat
... 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.
Zitat
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
private Nachricht | Beiträge des Benutzers
Technologie100
myCSharp.de - Member



Dabei seit:
Beiträge: 24

Themenstarter:

beantworten | zitieren | melden

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)
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 49.486
Herkunft: Berlin

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers