Laden...

Negativbild erstellen

Erstellt von Strauss vor 17 Jahren Letzter Beitrag vor 17 Jahren 1.944 Views
S
Strauss Themenstarter:in
20 Beiträge seit 2007
vor 17 Jahren
Negativbild erstellen

Ich möchte von einem Image ein Negativbild erstellen. Dazu habe ich folgenden Code geschrieben:


[code]
public static Bitmap GrayscaleImage(Image img)
{
	int width = img.Width;
	int heigth = img.Height;
	
	Bitmap source = (Bitmap)img;
		
	for (int i=0; i<width; i++)
		for (int j=0; j<heigth; j++)
		{
			Color pixelColor = source.GetPixel(i, j);
			byte R = Convert.ToByte(255 - pixelColor.R);
			byte G = Convert.ToByte(255 - pixelColor.G);
			byte B = Convert.ToByte(255 - pixelColor.B);
			byte value = Convert.ToByte( (R+G+B)/3 );
			source.SetPixel(i, j, Color.FromArgb(value, value, value));
		}
			
	return source;
}
[/code]

Beim Praxistest zeigte sich nun, dass diese Methode unter umständen sehr langam ist. Hatt jemand eine Idee, wie ich das ganze beschleunigen kann?

T
151 Beiträge seit 2005
vor 17 Jahren

der schlüssel dürft die Benutzung von unsafe-Code sein:

Hier mal 2 Links die ich auf die schnelle gefunden habe:*http://www.codeproject.com/csharp/quickgrayscale.asp *http://www.codeproject.com/cs/media/csharpgraphicfilters11.asp

J
3.331 Beiträge seit 2006
vor 17 Jahren
S
Strauss Themenstarter:in
20 Beiträge seit 2007
vor 17 Jahren

Vielen Dank, die Posts haben mir auf jeden Fall weiter geholfen 😁