Перезаписать / обновить существующий файл изображения в папке - PullRequest
0 голосов
/ 18 марта 2019

Я использую веб-камеру, чтобы захватить изображение и поместить его в Picturebox и сохранить изображение в папку моего проекта и получить путь к изображению, а затем сохранить в базе данных SQL. Проблема в том, что я не знаю, как мне обновить / перезаписать существующий файл

ПРИМЕЧАНИЕ. Мои данные связываются в datagridview, когда я щелкаю ячейку, изображение будет восстановлено в другой форме, поэтому в основном оно основано на идентификаторе.

Вот то, что я пытался достичь этого

private void BtnOk_Click(object sender, EventArgs e)
    {
        if (picCapturedImage.Image != null)
        {
            using (var bitmap = new Bitmap(picCapturedImage.Image))
            {
                bitmap.Save(Common.CustomerPath, ImageFormat.Png);
                _updCustomer.picCustomerImage.Image = Image.FromFile(Common.CustomerPath);
            }
        }
        Close();
    }

Когда я запускаю этот код, он заменяет изображение User.Png, а не изображение захвата (Image1, Image2 и т. Д.)
User.Png - это мое изображение по умолчанию, когда пользователь не хочет просматривать или захватывать изображение

Вот код для сохранения изображения в папке проекта

Я использовал цикл, чтобы избежать перезаписи изображения в папке проекта, поэтому при сохранении изображения

Изображение0, Изображение1, Изображение2 и т. Д.

if (picCapturedImage.Image != null) {
            using (var bitmap = new Bitmap(picCapturedImage.Image))
            {
                for (int i = 0; i < int.MaxValue; i++)
                {
                    var fileName = $@"..\..\Resources\Photos\Image{i}.png";

                    if (!File.Exists(fileName)) {
                        bitmap.Save(fileName, ImageFormat.Png);
                        Common.CustomerPath = Path.GetFullPath(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, $@"..\..\Resources\Photos\Image{i}.png"));
                        _regCustomer.picCustomerImage.Image = Image.FromFile(Common.CustomerPath);
                        break;
                    }

                }
            }
        }
        Close();

Вот код, где я сохраняю путь

 public class Common
 {
    public static string CustomerPath = Path.GetFullPath(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"..\..\Resources", "User.png"));
 }

Вот код для получения пути к изображению

_updCustomer.picCustomerImage.Image = Image.FromFile(customer.ImagePath);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...