private static void TestPresenceOfPNGOptimizer() { try { string lastError = PngOptimizerDll.GetLastErrorString(); optimizerPresent = true; } catch (DllNotFoundException) { optimizerPresent = false; } }
private static byte[] OptimizePNGByteArray(byte[] input) { byte[] result = new byte[input.Length + 400000]; // As seen in the test app for PNG optimizer DLL int resultSize = 0; bool optimized = PngOptimizerDll.OptimizeFileMem(input, input.Length, result, result.Length, out resultSize); if (optimized && resultSize < input.Length) { byte[] optimizedPNG = new byte[resultSize]; Array.Copy(result, optimizedPNG, resultSize); return(optimizedPNG); } else { return(input); } }