Vous n’êtes pas connecté.
Bonjour, visiteur, bienvenue sur les forums Aqua Computer Forum. Si c’est votre première visite, nous vous invitons à consulter l’Aide. Elle vous expliquera le fonctionnement de cette page. Pour avoir accès à toutes les fonctionnalités, vous devez vous inscrire. Pour cela, veuillez utiliser le formulaire d’enregistrement, ou bien lisez plus d’informations sur la procédure d’enregistrement. Si vous êtes déjà enregistré, veuillez vous connecter.

TrOuble
God






|
|
Code source |
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; |
|
|
Code source |
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.");
|

|
|
Code source |
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);
|



)
-