示例#1
0
        private void EncodeButton_Click(object sender, RoutedEventArgs e)
        {
            if (data == null)
            {
                MessageBox.Show("Загрузите изображение");
                return;
            }
            Int32.TryParse(SizeTextBox.Text, out var size);
            size = size > 0 ? size : 500;
            var message = data.Split(size).ToArray();
            var result  = new EncryptedBlock <byte> [message.Count()];

            Parallel.For(0, message.Count(), (i) =>
            {
                var encoded = ArithmeticCoder.Encode(message[i].ToArray());
                result[i]   = new EncryptedBlock <byte>(encoded.Message, encoded.Ranges, encoded.Length);
            });
            MessageBox.Show("Изображение закодировано");
            encryptedBlocks = result;
        }