Hinterlassen Sie eine Datei, C# AlphaBlend, Überlagerung von Bildern mit Alpha-Kanal

Die meisten Algorithmen im Internet sind zu textuell geschrieben, was sehr ermüdend aussieht.
Hinterlassen Sie eine Datei. Der Kernalgorithmus
bg ist die abgedeckte Schicht und add ist die obere Schicht.

private Color AlphaBlend(Color bg, Color add)
{
	float bg_a = (float)bg.A / 255.0f;

	float bg_r = (float)bg.R / 255.0f;
	float bg_g = (float)bg.G / 255.0f;
	float bg_b = (float)bg.B / 255.0f;

	float add_a = (float)add.A / 255.0f;

	float add_r = (float)add.R / 255.0f;
	float add_g = (float)add.G / 255.0f;
	float add_b = (float)add.B / 255.0f;

	float rA = 1 - (1 - add_a) * (1 - bg_a);
	float rR = add_r * add_a + bg_r * bg_a * (1 - add_a);
	float rG = add_g * add_a + bg_g * bg_a * (1 - add_a);
	float rB = add_b * add_a + bg_b * bg_a * (1 - add_a);

	rA *= 255;
	rR *= 255;
	rG *= 255;
	rB *= 255;

	return Color.FromArgb((int)rA, (int)rR, (int)rG, (int)rB);
}

Es gibt kein Ende, etwas über das Programmieren zu lernen.
Jeder ist willkommen, sich mitzuteilen. Wenn etwas unklar oder falsch ist, können Sie auch privat mit mir chatten.
Mein QQ 334524067 Gottähnlicher Didi

Supongo que te gusta

Origin blog.csdn.net/qq_37776196/article/details/126269535
Recomendado
Clasificación