internal unsafe ConcreteImageAcquiredEventArgs(ImageSetColor *colorImage)
        {
            Size  size         = new Size((int)colorImage->sArea.wWidth / 10, (int)colorImage->sArea.wHeight / 10);
            Point imageLeftTop = ConcreteImageAcquiredEventArgs.GetImageLeftTop(colorImage->sArea);

            Color[] imageData = new Color[size.Width * size.Height];
            for (int index = 0; index < imageData.Length; ++index)
            {
                ushort num = colorImage->uColor.awImageBuffer[index];
                imageData[index] = Color.FromArgb(((int)num & 63488) >> 8, ((int)num & 2000) >> 3, ((int)num & 31) << 3);
            }
            this.LiveImage = (Keyence.IV.Sdk.Image) new ConcreteImage(size, imageLeftTop, imageData);
        }
        internal unsafe ConcreteImageAcquiredEventArgs(ImageSetMono *monoImage)
        {
            Size  size         = new Size((int)monoImage->sArea.wWidth / 10, (int)monoImage->sArea.wHeight / 10);
            Point imageLeftTop = ConcreteImageAcquiredEventArgs.GetImageLeftTop(monoImage->sArea);

            Color[] imageData = new Color[size.Width * size.Height];
            for (int index = 0; index < imageData.Length; ++index)
            {
                byte num = monoImage->uMono.abyImageBuffer[index];
                imageData[index] = Color.FromArgb((int)num, (int)num, (int)num);
            }
            this.LiveImage = (Keyence.IV.Sdk.Image) new ConcreteImage(size, imageLeftTop, imageData);
        }