public void Descomprimir() { //lienzo de 512 x 512 im = new float[512, 512]; tempIm = new float[512, 512]; for (int i = 0; i < 512; i++) { for (int j = 0; j < 512; j++) { im[i, j] = 255; } } // for (int k = 0; k < repeticiones; k++) { for (int iDom = 0; iDom < iDomMax; iDom++) { for (int jDom = 0; jDom < jDomMax; jDom++) { int funcIndex = (iDom * jDomMax) + jDom; funcionIterativa func = SFI[funcIndex]; dibujarBloqueDominio(iDom, jDom, func.iRan, func.jRan, func.tipo, func.q); } } tempIm = im; } }
public void abrirImagenComprimida(BinaryReader reader) { // 4096 = iDomMax * jDomMax SFI = new funcionIterativa[4096]; for (int i = 0; i < SFI.Length; i++) { uint x = reader.ReadUInt32(); int iRan = (int)(x >> 27); int jRan = (int)(x << 5 >> 27); tipoTransformacion type = (tipoTransformacion)(x << 10 >> 29); float q = (int)(x << 13 >> 23) - 255; SFI[i] = new funcionIterativa(iRan, jRan, type, q); } }