public void Encode(Bitmap from, Stream to, float quality)
{
IntPtr result;
long length;
Encode(from, quality, out result, out length);
try {
byte[] buffer = new byte[4096];
for (int i = 0; i < length; i += buffer.Length) {
int used = (int)Math.Min((int)buffer.Length, length - i);
Marshal.Copy((IntPtr)((long)result + i), buffer, 0, used);
to.Write(buffer, 0, used);
}
} finally {
NativeMethods.WebPSafeFree(result);
}
}