Hola, he hecho el siguiente método para comprobar si colisionan dos imagenes por los pixeles:
private bool CheckPixelCollision(int Image1_x, int Image1_y, int Image2_x, int Image2_y, Bitmap Image1, Bitmap Image2)
{
bool intersected = false;
for (int i = 0; i < Image1.Width; i++)
{
for (int j = 0; j < Image1.Height; j++)
{
for (int k = 0; k < Image2.Width; k++)
{
for (int l = 0; l < Image2.Height; l++)
{
Color Image1_color = Image1.GetPixel(i, j);
Color Image2_color = Image2.GetPixel(k, l);
if (Image1_color.A != 0 & Image2_color.A != 0)
{
if (Image1_x+i == Image2_x+k & Image1_y+j == Image2_y+l)//Vemos si colisionan los pixeles
{
intersected = true;
}
}
}
}
}
}
El código funciona y devuelve true, el problema es que el programa va muy lento cuando se ejecuta esta función. Alguien tiene otra forma de hacer Perfect Pixel Collision?
PD: utilizo gdi+ para el código