GrayedBitmap
-
warum dennn so geheimnisvoll und umständlich?
google doch einfach nach wingdiex.
-
weil die url hier illegal ist
-
hääää??????????
was soll den an der seite/url illegal sein?
-
URL-Test: http://www.*********.de.vu
Es gab irgendwelche Streitigkeiten zwischen dem Betreiber dieses Forum und dem Betreiber dieser Seite und somit wurde die URL hier zensiert!
-
sonen schwachsinn habe ich ja noch nie gehört!!!!!!!!!!!!!
-
ist aber so :p
-
@<WinUser>
Vielleicht hilft dir ja eine kleine Funktion weiter, die ich mal gemacht habe, um eine Farbe "einzugrauen". Hier:VOID RGBToGray(BYTE* color) { float fRed_Part = 0.299 * (float)color[2]; float fGreen_Part = 0.587 * (float)color[1]; float fBlue_Part = 0.114 * (float)color[0]; BYTE bColor = (BYTE)(fRed_Part + fGreen_Part + fBlue_Part); LONG* lColor = (LONG*)color; *lColor = (bColor << 16) | (bColor << 8) | bColor; }
Klappt ganz gut. Um ein Bitmap damit einzugrauen, schau dir doch mal die Funktionen Get/SetDIBits() an. Mit denen macht man das.
-
Vielen Dank für euren Tipp, das hat mir sehr geholfen! Die DLL erledigt mein Problem auf einem 233 MHz-Notebook fast in Echtzeit und bringt zusätzlich noch Funktionen mit, um meine Bilder in Photoshopqualität scalieren :-))
-
Ich habe in mein Programm die Funktion GetGrayedBitmap aus dem Forum von www.winapi.de eingebaut.
Nein, nicht ".de" sondern ".net"
-
Ich bin schon auf der richtigen Seite gewesen und ich hatte die Funktion GetGrayedBitmap von dieser Seite auch erfolgreich in mein Programm eingebunden.
Weil diese Funktion aber zu zeitaufwändig und langsam war, hatte ich mich in dem Forum registriert und nachgefragt. Nur funktionierte mein Zugang, aus welchen Gründen auch immer, nach meinem ersten Posting nicht mehr.
Egal, probiere die WinGdiEx einmal aus und poste deine Meinung zum Laufzeitverhalten.
Trotzdem vielen Dank für deine Mühe.
-
Wenns noch schneller gehen soll, empfehle ich Integer-Operationen!
z.B.
VOID RGBToGray(BYTE* color) { color[2] = color[1] = *color = (299*color[2]+587*color[1]+114*color[0])/1000; }