代码之家  ›  专栏  ›  技术社区  ›  Sergio Tapia

将修改后的图像写入磁盘

  •  0
  • Sergio Tapia  · 技术社区  · 15 年前

    我的驱动器上有一个图像,我通过添加一个数字值对字节进行了加密,现在我如何编写修改过的文件并替换旧文件?

    这是我的加密方法[非常新,因为我只是感觉到一些东西:p]:

        private void EncryptFile()
        {            
            OpenFileDialog dialog = new OpenFileDialog();
            dialog.Filter = "JPEG Files (*.jpeg)|*.jpeg|PNG Files (*.png)|*.png|JPG Files (*.jpg)|*.jpg|GIF Files (*.gif)|*.gif";
            dialog.InitialDirectory = @"C:\Users\Sergio\Desktop";
            dialog.Title = "Please select an image file to encrypt.";
            if (dialog.ShowDialog() == DialogResult.OK)
            {
                byte[] ImageBytes = File.ReadAllBytes(dialog.FileName);
    
                for (int i = 0; i < ImageBytes.Length; i++)
                {
                    ImageBytes[i] = (byte)(ImageBytes[i] + 5);
                }                
            }             
        }
    

    我被困在那里了。我真的不知道如何继续。从技术上讲,在for循环之后,我将修改后的图像放在byte[]imagebytes的内部。现在,我怎样才能把它写在与图像完全相同的位置呢?

    哇!另一方面,我是否使用dialog.filename正确读取了文件?是否返回文件路径?

    1 回复  |  直到 15 年前
        1
  •  5
  •   Noon Silk    15 年前
    File.WriteAllBytes(dialog.FileName, ImageBytes);