NasimBamdad
شنبه 21 اردیبهشت 1392, 17:09 عصر
سلام و خسته نباشید
من با کد زیر به وسیله یک OpenDialog یک عکس رو انتخاب می کنم و در یک PictureBox لود می کنم
OpenFileDialog dlg = new OpenFileDialog();
dlg.Title = "عکس بیمار";
if (dlg.ShowDialog() == DialogResult.OK)
{
pictureBox1.Image = new Bitmap(dlg.FileName);
pictureBox1.ImageLocation = dlg.FileName;
}
dlg.Dispose();
بعد با این کد هم ، اون عکس رو با یک اسم جدید در کنار برنامه هم ذخیره می کنم
pictureBox1.Image.Save(Application.StartupPath + "\\Images\\P-IMG\\" + txtProNet2.Text + ".jpg",ImageFormat.Jpeg);
اگر هم نخواییم برای کسی عکس قرار بدیم یک عکس پیشفرض براش در نظر گرفته میشه . ( یک تک فایل هست که در آدرس زیر قرار داره و اون رو برای کسی که عکس نداره در نظر میگیریم )
Applicaton.StartupPath/images/N0.png
تا اینجا که هیچ . حالا وقتی که میام در قسمت ویرایش بیماران و می خوام یک عکس رو به بیماری اختصاص بدم از کد زیر استفاده می کنم .
یک PictureBox دارم که از کد زیر میام عکس رو در اون لود می کنم
OpenFileDialog dlg = new OpenFileDialog();
dlg.Title = "عکس بیمار";
if (dlg.ShowDialog() == DialogResult.OK)
{
pictureBox1.Image = new Bitmap(dlg.FileName);
pictureBox1.ImageLocation = dlg.FileName;
dlg.Dispose();
}
dlg.Dispose();
بعد برای ذخیره کردن عکس ( Update بیمار ) از این کد استفاده می کنم
if (File.Exists(Application.StartupPath + "\\Images\\P-IMG\\" + txtProNet1.Text + "" + ".jpg"))
{
File.Delete(Application.StartupPath + "\\Images\\P-IMG\\" + txtProNet1.Text + "" + ".jpg");
pictureBox1.Image.Save(Application.StartupPath + "\\Images\\P-IMG\\" + txtProNet1.Text + ".jpg", ImageFormat.Jpeg);
}
else
{
pictureBox1.Image.Save(Application.StartupPath + "\\Images\\P-IMG\\" + txtProNet1.Text + ".jpg", ImageFormat.Jpeg);
}
مشکل اصلی من این هست که وقتی که بیماری عکسی نداره و فایل عکسی براش تخصیص داده نشده به راحتی براش یک عکس قرار می دم و عکس براش ست میشه . اما وقتی که بخوام یک بیمار که عکس داره رو عکسش رو ویرایش کنم مشکل ایچاد میشه و اررور های مبنی بر اینکه از اون عکس داره استفاده می شود و یا اون فایل باز هست میاد .
به نظر شما کجای کارم اشتباهه ؟! آیا راه اصولی در نظر گرفتم یا اشتباه ؟!
من با کد زیر به وسیله یک OpenDialog یک عکس رو انتخاب می کنم و در یک PictureBox لود می کنم
OpenFileDialog dlg = new OpenFileDialog();
dlg.Title = "عکس بیمار";
if (dlg.ShowDialog() == DialogResult.OK)
{
pictureBox1.Image = new Bitmap(dlg.FileName);
pictureBox1.ImageLocation = dlg.FileName;
}
dlg.Dispose();
بعد با این کد هم ، اون عکس رو با یک اسم جدید در کنار برنامه هم ذخیره می کنم
pictureBox1.Image.Save(Application.StartupPath + "\\Images\\P-IMG\\" + txtProNet2.Text + ".jpg",ImageFormat.Jpeg);
اگر هم نخواییم برای کسی عکس قرار بدیم یک عکس پیشفرض براش در نظر گرفته میشه . ( یک تک فایل هست که در آدرس زیر قرار داره و اون رو برای کسی که عکس نداره در نظر میگیریم )
Applicaton.StartupPath/images/N0.png
تا اینجا که هیچ . حالا وقتی که میام در قسمت ویرایش بیماران و می خوام یک عکس رو به بیماری اختصاص بدم از کد زیر استفاده می کنم .
یک PictureBox دارم که از کد زیر میام عکس رو در اون لود می کنم
OpenFileDialog dlg = new OpenFileDialog();
dlg.Title = "عکس بیمار";
if (dlg.ShowDialog() == DialogResult.OK)
{
pictureBox1.Image = new Bitmap(dlg.FileName);
pictureBox1.ImageLocation = dlg.FileName;
dlg.Dispose();
}
dlg.Dispose();
بعد برای ذخیره کردن عکس ( Update بیمار ) از این کد استفاده می کنم
if (File.Exists(Application.StartupPath + "\\Images\\P-IMG\\" + txtProNet1.Text + "" + ".jpg"))
{
File.Delete(Application.StartupPath + "\\Images\\P-IMG\\" + txtProNet1.Text + "" + ".jpg");
pictureBox1.Image.Save(Application.StartupPath + "\\Images\\P-IMG\\" + txtProNet1.Text + ".jpg", ImageFormat.Jpeg);
}
else
{
pictureBox1.Image.Save(Application.StartupPath + "\\Images\\P-IMG\\" + txtProNet1.Text + ".jpg", ImageFormat.Jpeg);
}
مشکل اصلی من این هست که وقتی که بیماری عکسی نداره و فایل عکسی براش تخصیص داده نشده به راحتی براش یک عکس قرار می دم و عکس براش ست میشه . اما وقتی که بخوام یک بیمار که عکس داره رو عکسش رو ویرایش کنم مشکل ایچاد میشه و اررور های مبنی بر اینکه از اون عکس داره استفاده می شود و یا اون فایل باز هست میاد .
به نظر شما کجای کارم اشتباهه ؟! آیا راه اصولی در نظر گرفتم یا اشتباه ؟!