private void copyRGBtoABGR(ByteBuffer buffer, byte[] curLine) {
        if(transPixel != null) {
            byte tr = transPixel[1];
            byte tg = transPixel[3];
            byte tb = transPixel[5];
            for(int i=1,n=curLine.length ; i<n ; i+=3) {
                byte r = curLine[i];
                byte g = curLine[i+1];
                byte b = curLine[i+2];
                byte a = (byte)0xFF;
                if(r==tr && g==tg && b==tb) {
                    a = 0;
                }
                buffer.put(a).put(b).put(g).put(r);
            }
        } else {
            for(int i=1,n=curLine.length ; i<n ; i+=3) {
                buffer.put((byte)0xFF).put(curLine[i+2]).put(curLine[i+1]).put(curLine[i]);
            }
        }
    }