Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Negativbild erstellen
Strauss
myCSharp.de - Member



Dabei seit:
Beiträge: 20
Herkunft: Apolda

Themenstarter:

Negativbild erstellen

beantworten | zitieren | melden

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?
private Nachricht | Beiträge des Benutzers
thepaul
myCSharp.de - Member



Dabei seit:
Beiträge: 151
Herkunft: Jena

beantworten | zitieren | melden

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

Hier mal 2 Links die ich auf die schnelle gefunden habe:
private Nachricht | Beiträge des Benutzers
juetho
myCSharp.de - Member



Dabei seit:
Beiträge: 3.331
Herkunft: Berlin

beantworten | zitieren | melden

Untersuche auch einmal GetPixel und SetPixel um Längen geschlagen. 800 mal schneller

Gruß Jürgen
private Nachricht | Beiträge des Benutzers
Strauss
myCSharp.de - Member



Dabei seit:
Beiträge: 20
Herkunft: Apolda

Themenstarter:

beantworten | zitieren | melden

Vielen Dank, die Posts haben mir auf jeden Fall weiter geholfen :-D
private Nachricht | Beiträge des Benutzers