Sie sind nicht angemeldet.
Lieber Besucher, herzlich willkommen bei: Aqua Computer Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.
TrOuble
God
![]() |
Quellcode |
1 2 3 4 5 6 7 8 9 10 |
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.IO; using System.Drawing.Imaging; using System.Diagnostics; |
![]() |
Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
Stopwatch sw = new Stopwatch(); Bitmap Screenshot; Graphics gfx; Color pixelColor; string color,R,G,B; int position = 0; int tempInt = 0; string[,] hexArray = new string[Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height]; sw.Start(); Screenshot = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height, PixelFormat.Format32bppArgb); gfx = Graphics.FromImage(Screenshot); gfx.CopyFromScreen(Screen.PrimaryScreen.Bounds.X, Screen.PrimaryScreen.Bounds.Y, 0, 0, Screen.PrimaryScreen.Bounds.Size, CopyPixelOperation.SourceCopy); for (int i = 0; i < Screen.PrimaryScreen.Bounds.Width; i++) { for (int j = 0; j < Screen.PrimaryScreen.Bounds.Height; j++) { //pixel detection pixelColor = Screenshot.GetPixel(i, j); color = pixelColor.ToString(); //format ist: "Color [A=XXX, R=XXX, G=XXX, B=XXX]" //"Color [A=XXX, R=" löschen position = color.IndexOf(","); color = color.Substring(position + 4); //ende des R werts bestimmen position = color.IndexOf(","); R = color.Substring(0, position); //"XXX, G=" löschen & ende bestimmen color = color.Substring(position + 4); position = color.IndexOf(","); G = color.Substring(0, position); //"XXX, B=" löschen & ende bestimmen color = color.Substring(position + 4); position = color.IndexOf("]"); B = color.Substring(0, position); //rgb werte in hex werte ändern tempInt = Convert.ToInt32(R); R = String.Format("{0:X}", tempInt); tempInt = Convert.ToInt32(G); G = String.Format("{0:X}", tempInt); tempInt = Convert.ToInt32(B); B = String.Format("{0:X}", tempInt); //bei zahlen unter 16 ist zbsp 10 = A und nicht 0A, daher 0 drankleben if (R.Length == 1) R = "0" + R; if (G.Length == 1) G = "0" + G; if (B.Length == 1) B = "0" + B; hexArray[i,j] = R + G + B; } } sw.Stop(); MessageBox.Show("Das Einlesen von " + (Screen.PrimaryScreen.Bounds.Width * Screen.PrimaryScreen.Bounds.Height) + " Pixeln hat " + sw.ElapsedMilliseconds + "ms gedauert. Das sind " + (Screen.PrimaryScreen.Bounds.Width * Screen.PrimaryScreen.Bounds.Height / sw.ElapsedMilliseconds) + " Pixel/ms."); |
![]() |
Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
color = pixelColor.ToString(); //format ist: "Color [A=XXX, R=XXX, G=XXX, B=XXX]" //"Color [A=XXX, R=" löschen position = color.IndexOf(","); color = color.Substring(position + 4); //ende des R werts bestimmen position = color.IndexOf(","); R = color.Substring(0, position); //"XXX, G=" löschen & ende bestimmen color = color.Substring(position + 4); position = color.IndexOf(","); G = color.Substring(0, position); //"XXX, B=" löschen & ende bestimmen color = color.Substring(position + 4); position = color.IndexOf("]"); B = color.Substring(0, position); |
-