?
Also die Zusammenarbeit hier im Board ist echt . Da möchte man richtig mithalten können. Klappt aber nicht so ganz. Bei mir ist wieder nur ne Frage draus geworden.
Hab mir auch das Graustufenbeispiel aus dem Thread angeschaut (die URL dummerweise nicht gespeichert). Ich dachte, das kann ich ganz einfach für alle Formate gangbar bekommen.
Die Feststufen-Variante hatte ich bald aufgegeben. Klappt nur bei 24bit, bei 8bit hängt sich das System komplett fest. Die Stufenversion klappt nur bei 24bit einwandfrei. Darunter kommen Nonsense-Farben, darüber wird es unscharf. Ich poste trotzdem mal den Stand. Hab es an das Beispiel angepasst. Wenn schon eine eigene Funktion für pf, dann können ja alle drauf zugreifen. @Jansen, deinen logischen Weg mit der 3. for-Schleife konnte ich hier gar nicht umsetzen.
void __fastcall TForm1::GrayClick(TObject *Sender)
{
PixelFormatCheck(Sender);
Graphics::TBitmap *graypict = new Graphics::TBitmap();
graypict->Width = Image->Picture->Graphic->Width;
graypict->Height = Image->Picture->Graphic->Height;
graypict->Assign(Image->Picture);
graypict->PixelFormat = Image->Picture->Bitmap->PixelFormat;
for (int j = 0; j < graypict->Height; j++)
{
RGBTRIPLE *SL = (RGBTRIPLE *) graypict->ScanLine[j];
for (int i = 0; i < graypict->Width*pf; i++)
{
BYTE gray;
gray = (SL[i].rgbtRed * 0.299) + (SL[i].rgbtGreen *
0.587) + (SL[i].rgbtBlue * 0.114);
SL[i].rgbtRed = gray;
SL[i].rgbtGreen = gray;
SL[i].rgbtBlue = gray;
}
}
Image->Picture->Bitmap = graypict;
delete graypict;
}
PS: @WebFritzi, was meinst du mit dem Vergleich? Kannst du die Leute nach ihrem Schreibstil unterscheiden? , ich würde mir sowas nicht zutraun.