Я использую веб-камеру, чтобы захватить изображение и поместить его в 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);