public IntPtr Montage(IMagickImage image, IMontageSettings <QuantumType> settings) { using (INativeInstance settingsNative = MontageSettings.CreateInstance(settings)) { IntPtr exception = IntPtr.Zero; IntPtr result; #if PLATFORM_AnyCPU if (OperatingSystem.Is64Bit) #endif #if PLATFORM_x64 || PLATFORM_AnyCPU result = NativeMethods.X64.MagickImageCollection_Montage(image.GetInstance(), settingsNative.Instance, out exception); #endif #if PLATFORM_AnyCPU else #endif #if PLATFORM_x86 || PLATFORM_AnyCPU result = NativeMethods.X86.MagickImageCollection_Montage(image.GetInstance(), settingsNative.Instance, out exception); #endif var magickException = MagickExceptionHelper.Create(exception); if (magickException == null) { return(result); } if (magickException is MagickErrorException) { if (result != IntPtr.Zero) { Dispose(result); } throw magickException; } RaiseWarning(magickException); return(result); } }
public IntPtr Montage(IMagickImage image, MontageSettings settings) { using (INativeInstance settingsNative = MontageSettings.CreateInstance(settings)) { IntPtr exception = IntPtr.Zero; IntPtr result; #if PLATFORM_AnyCPU if (NativeLibrary.Is64Bit) #endif #if PLATFORM_x64 || PLATFORM_AnyCPU result = NativeMethods.X64.MagickImageCollection_Montage(image.GetInstance(), settingsNative.Instance, out exception); #endif #if PLATFORM_AnyCPU else #endif #if PLATFORM_x86 || PLATFORM_AnyCPU result = NativeMethods.X86.MagickImageCollection_Montage(image.GetInstance(), settingsNative.Instance, out exception); #endif MagickException magickException = MagickExceptionHelper.Create(exception); if (MagickExceptionHelper.IsError(magickException)) { if (result != IntPtr.Zero) { Dispose(result); } throw magickException; } RaiseWarning(magickException); return(result); } }