コード例 #1
0
ファイル: FSDKUtil.cs プロジェクト: brocny/Rocnikovy-Projekt
        public static ImageBuffer ImageHandleToImageBuffer(int imageHandle, FSDK.FSDK_IMAGEMODE imageMode = FSDK.FSDK_IMAGEMODE.FSDK_IMAGE_COLOR_32BIT)
        {
            FSDK.SaveImageToBuffer(imageHandle, out var buffer, imageMode);

            int width = 0, height = 0;

            FSDK.GetImageWidth(imageHandle, ref width);
            FSDK.GetImageHeight(imageHandle, ref height);

            return(new ImageBuffer(buffer, width, height, imageMode.BytesPerPixel()));
        }
コード例 #2
0
ファイル: FSDKUtil.cs プロジェクト: brocny/Rocnikovy-Projekt
        public static int BytesPerPixel(this FSDK.FSDK_IMAGEMODE imageMode)
        {
            switch (imageMode)
            {
            case FSDK.FSDK_IMAGEMODE.FSDK_IMAGE_COLOR_24BIT:
                return(3);

            case FSDK.FSDK_IMAGEMODE.FSDK_IMAGE_COLOR_32BIT:
                return(4);

            case FSDK.FSDK_IMAGEMODE.FSDK_IMAGE_GRAYSCALE_8BIT:
                return(0);

            default:
                throw new ArgumentException(nameof(imageMode));
            }
        }