public IntPtr WriteStream(MagickImage image, MagickSettings settings, ReadWriteStreamDelegate reader, ReadWriteStreamDelegate writer, SeekStreamDelegate seeker, TellStreamDelegate teller)
{
using (INativeInstance settingsNative = MagickSettings.CreateInstance(settings))
{
IntPtr exception = IntPtr.Zero;
IntPtr result;
#if ANYCPU
if (NativeLibrary.Is64Bit)
#endif
#if WIN64 || ANYCPU
result = NativeMethods.X64.MagickImageCollection_WriteStream(MagickImage.GetInstance(image), settingsNative.Instance, reader, writer, seeker, teller, out exception);
#endif
#if ANYCPU
else
#endif
#if !WIN64 || ANYCPU
result = NativeMethods.X86.MagickImageCollection_WriteStream(MagickImage.GetInstance(image), settingsNative.Instance, reader, writer, seeker, teller, out exception);
#endif
MagickException magickException = MagickExceptionHelper.Create(exception);
if (MagickExceptionHelper.IsError(magickException))
{
if (result != IntPtr.Zero)
{
Dispose(result);
}
throw magickException;
}
RaiseWarning(magickException);
return(result);
}
}