public IntPtr ToShortArray(int x, int y, int width, int height, string mapping)
{
using (INativeInstance mappingNative = UTF8Marshaler.CreateInstance(mapping))
{
IntPtr exception = IntPtr.Zero;
IntPtr result;
#if ANYCPU
if (NativeLibrary.Is64Bit)
#endif
#if WIN64 || ANYCPU
result = NativeMethods.X64.PixelCollection_ToShortArray(Instance, (UIntPtr)x, (UIntPtr)y, (UIntPtr)width, (UIntPtr)height, mappingNative.Instance, out exception);
#endif
#if ANYCPU
else
#endif
#if !WIN64 || ANYCPU
result = NativeMethods.X86.PixelCollection_ToShortArray(Instance, (UIntPtr)x, (UIntPtr)y, (UIntPtr)width, (UIntPtr)height, mappingNative.Instance, out exception);
#endif
MagickException magickException = MagickExceptionHelper.Create(exception);
if (MagickExceptionHelper.IsError(magickException))
{
if (result != IntPtr.Zero)
MagickMemory.Relinquish(result);
throw magickException;
}
RaiseWarning(magickException);
return result;
}
}
}