private byte[] ExtractTemplate(int width, int height, object rawImage, int res, out enImageQuality ImageQuality) { int size = (int)GRConstants.GR_MAX_SIZE_TEMPLATE; Array TmpArray = new byte[(int)GRConstants.GR_MAX_SIZE_TEMPLATE]; switch ((GRConstants)fgr.Extract(ref rawImage, width, height, res, ref TmpArray, ref size, (int)GRConstants.GR_DEFAULT_CONTEXT)) { case GRConstants.GR_HIGH_QUALITY: ImageQuality = enImageQuality.HighQuality; break; case GRConstants.GR_MEDIUM_QUALITY: ImageQuality = enImageQuality.MediumQuality; break; default: ImageQuality = enImageQuality.BadQuality; break; } byte[] retVal = (byte[])TmpArray; Array.Resize <byte>(ref retVal, size); return(retVal); }
public static extern int ISMS_DeviceSnapshotAsData(string szCameraUuid, enImageSize enSize, enImageQuality enQuality, ref IntPtr ppszBuffer, ref int iPicSize);