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); }