myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
   » Plugin für Firefox
   » Plugin für IE7
   » Gadget für Vista
» Regeln
» Wie poste ich richtig?
» Datenschutzerklärung
» wbb-FAQ

Mitglieder
» Liste / Suche
» Stadt / Anleitung dazu
» Wer ist wo online?

Angebote
» ASP.NET Webspace
» Bücher
» Zeitschriften
   » dot.net magazin
» Accessoires

Ressourcen
» .NET-Glossar
» guide to C#
» openbook: Visual C#
» openbook: OO
» .NET BlogBook
» MSDN Webcasts
» dotnetjob.de
» Search.Net

Team
» Kontakt
» Übersicht
» Wir über uns
» Bankverbindung
» Impressum

» Unsere MiniCity
MiniCity
» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » Grafik und Sound » PictureBox: Wert eines Pixel abfragen
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

PictureBox: Wert eines Pixel abfragen

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
sevo
myCSharp.de-Mitglied

Dabei seit: 09.12.2006
Beiträge: 18


sevo ist offline

PictureBox: Wert eines Pixel abfragen

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hi,
ich möchte folgendes realisieren:
Ich habe in ein Bild in eine pictureBox geladen. Nun möchte ich, dass wenn der Anwender auf irgendeine Stelle des Bildes klickt, dass eine MessageBox erscheint, die ihm die genauen Werte für Alpha, Red, Green und Blue anzeigt. Habe mir dafür eine MouseEventHandler für die PictureBox erstellt, weiß nun aber nicht, wie ich den Wert das Pixels auslesen kann, auf den ich geklickt habe.

C#-Code:
private void pictureBox4_Click(object sender, MouseEventArgs e)
{
      // Was kommt hier hinein?
}

Ich habe schon nach Funktionen gesucht, die mir den Wert eines Pixels ausgeben könnne, bin aber leider nicht fündig geworden.

Also vielen Dank schonmal für eure Hilfe!
05.08.2007 10:30 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
herbivore
myCSharp.de-Team (Admin)

images/avatars/avatar-2627.gif


Dabei seit: 11.01.2005
Beiträge: 47.478
Entwicklungsumgebung: csc/nmake (nothing is faster)
Herkunft: Berlin


herbivore ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo sevo,

((Bitmap)pictureBox4.Image).GetPixel (...)

herbivore

PS: Vermutlich musst du MouseDown und nicht Click verwenden, um an die Koordinaten des Clicks zu kommen.
05.08.2007 10:35 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
janismac janismac ist männlich
myCSharp.de-Mitglied

Dabei seit: 22.03.2007
Beiträge: 183


janismac ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

@herbivore das geht aber nur wenn das bild in der pic_box nicht verzerrt ist sondern in original größe dargestellt wird !!

an sonsten kanst du das über nen screenshot machen:  Capture a Screen Shot

MfG janismac
05.08.2007 10:44 Beiträge des Benutzers | zu Buddylist hinzufügen
sevo
myCSharp.de-Mitglied

Dabei seit: 09.12.2006
Beiträge: 18

Themenstarter Thema begonnen von sevo

sevo ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Danke! Daumen hoch
Hat bestens geklappt und ja, ich habe MouseDown verwendet anstatt Click.
05.08.2007 10:53 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Stu42 Stu42 ist männlich
myCSharp.de-Mitglied

Dabei seit: 15.10.2006
Beiträge: 459
Entwicklungsumgebung: VS 2005
Herkunft: Bremen


Stu42 ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

hättest auch Click nehmen können, und die Koordinaten dann wandeln mit "PointToClient"
05.08.2007 12:19 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Zwischen diesen beiden Beiträgen liegen mehr als 2 Jahre.
dr4g0n76
myCSharp.de-Poweruser/ Experte

images/avatars/avatar-1768.jpg


Dabei seit: 07.07.2005
Beiträge: 2.705
Entwicklungsumgebung: SharpDevelop/VS.NET
Herkunft: Deutschland


dr4g0n76 ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

@Janismac:

Eine weitere Möglichkeit ist über einen sogenannten

Eye-Dropper

Quasi den Pixel über den Desktop ermitteln ohne einen Screenshot zu machen.

s. auch:

 Creating an eye-dropper

EDIT: Anmerkung: Dieser reagiert dann natürlich auf ALLE pixel auf dem Screen.

@sevo:
Ansonsten muss eine Umrechnungsroutine programmiert werden, wie Janismac schon
richtig die Richtung gezeigt hat. Denn wenn verzerrt bzw. skaliert angezeigt wird, wirst Du sonst nicht das richtige Pixel unter dem Mauszeiger bekommen.

Ganz andere Alternative: Eingabe per Control und nicht den Mauszeiger mit Klick-Koordinaten benutzen. Ist aber eben meist nicht so komfortabel

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von dr4g0n76 am 14.06.2010 15:09.

14.06.2010 15:06 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Zwischen diesen beiden Beiträgen liegt mehr als ein Jahr.
City Hunter
myCSharp.de-Mitglied

Dabei seit: 25.03.2012
Beiträge: 3


City Hunter ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo Leute,

ich habe ein Zeichen Programm geschrieben und arbeite mit GetPixel.
Leider habe ich fest gestellt wenn ich das Programm starte und in die Zeichenfläche reinmale mit mehrere Farben und denn GetPixel benutze bekomme ich ein Exception fehler.

Wie kann ich das machen das ich den Farbwert rausbekomme ohne Das Bild abspeichenr zu müssen?

Ich bedanke mich jetzt schon mal wenn jemand mir irgend wie helfen kann.
30.03.2012 22:51 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum Der Startbeitrag ist älter als 5 Jahre.
Der letzte Beitrag ist älter als ein Jahr.
Antwort erstellen


© Copyright 2003-2013 myCSharp.de-Team. Alle Rechte vorbehalten. 20.05.2013 10:03