sommy Skrevet 20. november 2009 Del Skrevet 20. november 2009 finne RGB value på pixel cordinater inne i Form WorkArea. holder på med en Mouse macro app og trenger en metode for og sjekke at mouse er i riktig loacation basert på 3 pixler me forkjelige farger. noen som hvet hvordan dette kan gjøres? Lenke til kommentar
GeirGrusom Skrevet 20. november 2009 Del Skrevet 20. november 2009 Du må nesten forklare litt hvordan programmet er laget. Dersom du har et bitmap som representerer dette er det en enkel sak (enten ved å bruke GetPixel eller ved å bruke LockBitmap) Lenke til kommentar
sommy Skrevet 20. november 2009 Forfatter Del Skrevet 20. november 2009 Du må nesten forklare litt hvordan programmet er laget. Dersom du har et bitmap som representerer dette er det en enkel sak (enten ved å bruke GetPixel eller ved å bruke LockBitmap) nei det er ikke et bitmap, det er inne i et java applet i en webBrowser som kjører i tabel1 i windows formet. fant en VB app som gjør nesten det samme eg er ute etter og eg trenger samme funkjonaliteten i min C# code og har ikke helt control på og gjøre vb om til c# http://www.codeguru.com/vb/gen/vb_graphics...icle.php/c2357/ Lenke til kommentar
GeirGrusom Skrevet 20. november 2009 Del Skrevet 20. november 2009 (endret) private static class PixelColor { [DllImport("User32")] private static extern int GetPixel(IntPtr hdc, int x, int y); [DllImport("User32")] private static extern IntPtr GetWindowDC(IntPtr hwnd); private static readonly IntPtr DesktopDC = GetWindowDC(IntPtr.Zero); public static System.Drawing.Color GetPixelAtCursor() { System.Drawing.Point p = Cursor.Position; return System.Drawing.Color.FromARGB(GetPixel(DektopDC, p.X, p.Y)); } } Tror dette burde funke. Endret 20. november 2009 av GeirGrusom Lenke til kommentar
sommy Skrevet 20. november 2009 Forfatter Del Skrevet 20. november 2009 (endret) funka kjempe bra takk men endra en skriveleif [DllImport("User32")] private static extern int GetPixel(IntPtr hdc, int x, int y) til [DllImport("gdi32")] så funker det, men fårstår ikke hvorfor knappen ikke skifter farge når eg teste dette me denne coden. namespace Color_tool { public partial class Form1 : Form { [DllImport("gdi32")] private static extern int GetPixel(IntPtr hdc, int x, int y); [DllImport("User32")] private static extern IntPtr GetWindowDC(IntPtr hwnd); private static readonly IntPtr DesktopDC = GetWindowDC(IntPtr.Zero); public static System.Drawing.Color GetPixelAtCursor() { System.Drawing.Point p = Cursor.Position; return System.Drawing.Color.FromArgb(GetPixel(DesktopDC, p.X, p.Y)); } public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { button1.BackColor = Color.Black; } private void timer1_Tick(object sender, EventArgs e) { string colorX = GetPixelAtCursor().ToString(); Color backX = GetPixelAtCursor(); button1.BackColor = backX; label1.Text = colorX; } private void button1_Click(object sender, EventArgs e) { if (timer1.Enabled == false) timer1.Enabled = true; else timer1.Enabled = false; } } } Endret 20. november 2009 av sommy Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå