コード例 #1
0
        public RgbaArrays Decrypt(RgbaArrays image, EncryptionType type)
        {
            var decryptedImage = new RgbaArrays();

            switch (type)
            {
            case EncryptionType.HorisontalPlusAside:
                decryptedImage = this.decryptionManager.HorisontalDecryptPlusAside(image, rsaElements);
                break;

            case EncryptionType.HorisontalMinusAside:
                decryptedImage = this.decryptionManager.HorisontalDecryptMinusAside(image, rsaElements);
                break;

            case EncryptionType.VerticalPlusAside:
                decryptedImage = this.decryptionManager.VerticalDecryptPlusAside(image, rsaElements);
                break;

            case EncryptionType.VericalMinusAside:
                decryptedImage = this.decryptionManager.VerticalDecryptMinusAside(image, rsaElements);
                break;

            default:
                throw new ArgumentException(Constants.DecryptionExceptionMessage);
            }

            return(decryptedImage);
        }
コード例 #2
0
        public RgbaArrays VerticalEncryptMinusAside(RgbaArrays image, RsaElements rsa)
        {
            this.height      = image.AArray.GetLength(0);
            this.wigth       = image.AArray.GetLength(1);
            this.rsaElements = rsa;

            return(new RgbaArrays
            {
                AArray = this.EncryptOneColourVertical(image.AArray, false),
                BArray = this.EncryptOneColourVertical(image.BArray, false),
                GArray = this.EncryptOneColourVertical(image.GArray, false),
                RArray = this.EncryptOneColourVertical(image.RArray, false),
            });
        }
コード例 #3
0
        public RgbaArrays HorisontalEncryptPlusAside(RgbaArrays image, RsaElements rsa)
        {
            this.height      = image.AArray.GetLength(0);
            this.wigth       = image.AArray.GetLength(1);
            this.rsaElements = rsa;

            return(new RgbaArrays
            {
                AArray = this.EncryptOneColourHorisontal(image.AArray, true),
                BArray = this.EncryptOneColourHorisontal(image.BArray, true),
                GArray = this.EncryptOneColourHorisontal(image.GArray, true),
                RArray = this.EncryptOneColourHorisontal(image.RArray, true),
            });
        }
コード例 #4
0
        public Rgba[,] RgbaArraysToRgba(RgbaArrays rgbaArrays)
        {
            var imageArray = new Rgba[rgbaArrays.AArray.GetLength(0), rgbaArrays.AArray.GetLength(1)];

            for (var i = 0; i < rgbaArrays.AArray.GetLength(0); i++)
            {
                for (var j = 0; j < rgbaArrays.AArray.GetLength(1); j++)
                {
                    imageArray[i, j] = new Rgba
                    {
                        A = rgbaArrays.AArray[i, j],
                        B = rgbaArrays.BArray[i, j],
                        G = rgbaArrays.GArray[i, j],
                        R = rgbaArrays.RArray[i, j],
                    };
                }
            }

            return(imageArray);
        }
コード例 #5
0
        public RgbaArrays RgbaToRgbaArrays(Rgba[,] image)
        {
            var rgbaArrays = new RgbaArrays
            {
                AArray = new long[image.GetLength(0), image.GetLength(1)],
                BArray = new long[image.GetLength(0), image.GetLength(1)],
                GArray = new long[image.GetLength(0), image.GetLength(1)],
                RArray = new long[image.GetLength(0), image.GetLength(1)]
            };

            for (var i = 0; i < image.GetLength(0); i++)
            {
                for (var j = 0; j < image.GetLength(1); j++)
                {
                    rgbaArrays.AArray[i, j] = image[i, j].A;
                    rgbaArrays.BArray[i, j] = image[i, j].B;
                    rgbaArrays.GArray[i, j] = image[i, j].G;
                    rgbaArrays.RArray[i, j] = image[i, j].R;
                }
            }

            return(rgbaArrays);
        }
コード例 #6
0
 public Bitmap PrepareToOutput(RgbaArrays image)
 {
     return(this.imageMapper.RgbaToBitmapMap(this.imageMapper.RgbaArraysToRgba(image)));
 }