123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145 |
- using System.Diagnostics.Contracts;
- using System.Runtime.InteropServices;
- #pragma warning disable 1591
- #pragma warning disable CA2101 // Specify marshaling for P/Invoke string arguments
- namespace OpenCvSharp.Internal;
- static partial class NativeMethods
- {
- // imread
- [Pure, DllImport(DllExtern, CallingConvention = CallingConvention.Cdecl, BestFitMapping = false, ThrowOnUnmappableChar = true, ExactSpelling = true,
- EntryPoint = "imgcodecs_imread")]
- public static extern ExceptionStatus imgcodecs_imread_NotWindows(
- [MarshalAs(StringUnmanagedTypeNotWindows)] string fileName, int flags, out IntPtr returnValue);
- [Pure, DllImport(DllExtern, CallingConvention = CallingConvention.Cdecl, BestFitMapping = false, ThrowOnUnmappableChar = true, ExactSpelling = true,
- EntryPoint = "imgcodecs_imread")]
- public static extern ExceptionStatus imgcodecs_imread_Windows(
- [MarshalAs(StringUnmanagedTypeWindows)] string fileName, int flags, out IntPtr returnValue);
- [Pure]
- public static ExceptionStatus imgcodecs_imread(string fileName, int flags, out IntPtr returnValue)
- {
- if (IsWindows())
- return imgcodecs_imread_Windows(fileName, flags, out returnValue);
- return imgcodecs_imread_NotWindows(fileName, flags, out returnValue);
- }
- // imreadmulti
- [Pure, DllImport(DllExtern, CallingConvention = CallingConvention.Cdecl, BestFitMapping = false, ThrowOnUnmappableChar = true, ExactSpelling = true,
- EntryPoint = "imgcodecs_imreadmulti")]
- public static extern ExceptionStatus imgcodecs_imreadmulti_NotWindows(
- [MarshalAs(StringUnmanagedTypeNotWindows)] string fileName, IntPtr mats, int flags, out int returnValue);
- [Pure, DllImport(DllExtern, CallingConvention = CallingConvention.Cdecl, BestFitMapping = false, ThrowOnUnmappableChar = true, ExactSpelling = true,
- EntryPoint = "imgcodecs_imreadmulti")]
- public static extern ExceptionStatus imgcodecs_imreadmulti_Windows(
- [MarshalAs(StringUnmanagedTypeWindows)] string fileName, IntPtr mats, int flags, out int returnValue);
- [Pure]
- public static ExceptionStatus imgcodecs_imreadmulti(string fileName, IntPtr mats, int flags, out int returnValue)
- {
- if (IsWindows())
- return imgcodecs_imreadmulti_Windows(fileName, mats, flags, out returnValue);
- return imgcodecs_imreadmulti_NotWindows(fileName, mats, flags, out returnValue);
- }
- // imwrite
- [Pure, DllImport(DllExtern, CallingConvention = CallingConvention.Cdecl, BestFitMapping = false, ThrowOnUnmappableChar = true, ExactSpelling = true,
- EntryPoint = "imgcodecs_imwrite")]
- public static extern ExceptionStatus imgcodecs_imwrite_NotWindows(
- [MarshalAs(StringUnmanagedTypeNotWindows)] string fileName, IntPtr img, [In] int[] @params, int paramsLength, out int returnValue);
- [Pure, DllImport(DllExtern, CallingConvention = CallingConvention.Cdecl, BestFitMapping = false, ThrowOnUnmappableChar = true, ExactSpelling = true,
- EntryPoint = "imgcodecs_imwrite")]
- public static extern ExceptionStatus imgcodecs_imwrite_Windows(
- [MarshalAs(StringUnmanagedTypeWindows)] string fileName, IntPtr img, [In] int[] @params, int paramsLength, out int returnValue);
- [Pure]
- public static ExceptionStatus imgcodecs_imwrite(string fileName, IntPtr img, int[] @params, int paramsLength, out int returnValue)
- {
- if (IsWasm()) {
- returnValue = default(int);
- return ExceptionStatus.Occurred;
- }
- if (IsWindows())
- return imgcodecs_imwrite_Windows(fileName, img, @params, paramsLength, out returnValue);
- return imgcodecs_imwrite_NotWindows(fileName, img, @params, paramsLength, out returnValue);
- }
- // imwrite_multi
- [Pure, DllImport(DllExtern, CallingConvention = CallingConvention.Cdecl, BestFitMapping = false, ThrowOnUnmappableChar = true, ExactSpelling = true,
- EntryPoint = "imgcodecs_imwrite_multi")]
- public static extern ExceptionStatus imgcodecs_imwrite_multi_NotWindows(
- [MarshalAs(StringUnmanagedTypeNotWindows)] string fileName, IntPtr img, [In] int[] @params, int paramsLength, out int returnValue);
- [Pure, DllImport(DllExtern, CallingConvention = CallingConvention.Cdecl, BestFitMapping = false, ThrowOnUnmappableChar = true, ExactSpelling = true,
- EntryPoint = "imgcodecs_imwrite_multi")]
- public static extern ExceptionStatus imgcodecs_imwrite_multi_Windows(
- [MarshalAs(StringUnmanagedTypeWindows)] string fileName, IntPtr img, [In] int[] @params, int paramsLength, out int returnValue);
- [Pure]
- public static ExceptionStatus imgcodecs_imwrite_multi(string fileName, IntPtr img, int[] @params, int paramsLength, out int returnValue)
- {
- if (IsWindows())
- return imgcodecs_imwrite_multi_Windows(fileName, img, @params, paramsLength, out returnValue);
- return imgcodecs_imwrite_multi_NotWindows(fileName, img, @params, paramsLength, out returnValue);
- }
- //
- [Pure, DllImport(DllExtern, CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
- public static extern ExceptionStatus imgcodecs_imdecode_Mat(
- IntPtr buf, int flags, out IntPtr returnValue);
-
- [Pure, DllImport(DllExtern, CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
- public static extern unsafe ExceptionStatus imgcodecs_imdecode_vector(
- byte* buf, int bufLength, int flags, out IntPtr returnValue);
- [Pure, DllImport(DllExtern, CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
- public static extern ExceptionStatus imgcodecs_imdecode_InputArray(
- IntPtr buf, int flags, out IntPtr returnValue);
- // Do not consider that "ext" may not be ASCII characters
- [Pure, DllImport(DllExtern, CallingConvention = CallingConvention.Cdecl, BestFitMapping = false, ThrowOnUnmappableChar = true, ExactSpelling = true)]
- public static extern ExceptionStatus imgcodecs_imencode_vector(
- [MarshalAs(UnmanagedType.LPStr)] string ext, IntPtr img, IntPtr buf, [In] int[] @params, int paramsLength, out int returnValue);
- // haveImageReader
- [Pure, DllImport(DllExtern, CallingConvention = CallingConvention.Cdecl, BestFitMapping = false, ThrowOnUnmappableChar = true, ExactSpelling = true,
- EntryPoint = "imgcodecs_imwrite")]
- public static extern ExceptionStatus imgcodecs_haveImageReader_NotWindows(
- [MarshalAs(StringUnmanagedTypeNotWindows)] string fileName, out int returnValue);
- [Pure, DllImport(DllExtern, CallingConvention = CallingConvention.Cdecl, BestFitMapping = false, ThrowOnUnmappableChar = true, ExactSpelling = true,
- EntryPoint = "imgcodecs_imwrite")]
- public static extern ExceptionStatus imgcodecs_haveImageReader_Windows(
- [MarshalAs(StringUnmanagedTypeWindows)] string fileName, out int returnValue);
- [Pure]
- public static ExceptionStatus imgcodecs_haveImageReader(string fileName, out int returnValue)
- {
- if (IsWasm()) {
- returnValue = default(int);
- return ExceptionStatus.Occurred;
- }
-
- if (IsWindows())
- return imgcodecs_haveImageReader_Windows(fileName, out returnValue);
- return imgcodecs_haveImageReader_NotWindows(fileName, out returnValue);
- }
-
- // haveImageWriter
- [Pure, DllImport(DllExtern, CallingConvention = CallingConvention.Cdecl, BestFitMapping = false, ThrowOnUnmappableChar = true, ExactSpelling = true)]
- public static extern ExceptionStatus imgcodecs_haveImageWriter(
- [MarshalAs(UnmanagedType.LPStr)] string fileName, out int returnValue);
- }
|