FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour problema con imagenes con canal Alpha
Posts: 1516
Joined: Thu May 27, 2010 02:06 PM

problema con imagenes con canal Alpha

Posted: Thu May 02, 2013 08:35 AM

Estos dias he visto al usar pngs ,que el canal alpha no se interpreta correctamente ,es lo mismo que pasa con los bmp que tenemos que hacer "premultipliced" primero para que se muestren bien . ¿ no se podría hacer que la function abpaint() detecte si están o no premultiplied los archivos y realice la conversion correctamente ? , mirando por internet he visto algún código que lo hace pero que se escapa a mi nivel de conocimientos de c++ , otros ejemplos estan en java o Powerbasic , pero sería una solución tanto para pngs como para bmps .
Este enlace puede servir como punto de partida : https://github.com/maxme/PNG-Alpha-Prem ... g2PMApng.c

Saludos.

Posts: 1516
Joined: Thu May 27, 2010 02:06 PM

Re: problema con imagenes con canal Alpha

Posted: Thu May 02, 2013 01:43 PM
He encontrado el codigo para el primer paso que es detectar si esta o no Premultipied una imagen ....

Code (fw): Select all Collapse
BOOL IsPremultiplied(LPRGBQUAD pBits, int numberOfPixels)
{
   for (int i = 0; i < numberOfPixels; ++i)
   {
     if (pBits[i].rgbBlue > pBits[i].rgbReserved ||
       pBits[i].rgbGreen > pBits[i].rgbReserved ||
       pBits[i].rgbRed > pBits[i].rgbReserved)
     {
       return false;
     }
   }
   return true;
}

Continue the discussion