PDA

View Full Version : مبتدی: مشکل این کد چیه؟



feree123
جمعه 15 مرداد 1389, 19:19 عصر
string a;
saveFileDialog1.ShowDialog();
a = saveFileDialog1.FileName;
Bitmap c = new Bitmap(pictureBox1.Image);
c.Save(a);

FastCode
جمعه 15 مرداد 1389, 19:44 عصر
مشکل اولش اینه که چک نمیکنه که توی SaveFileDialog چه گزینه ای انتخاب شده.

if (saveFileDialog1.ShowDialog() == DialogResult.OK) save

feree123
جمعه 15 مرداد 1389, 19:55 عصر
مشکل اولش اینه که چک نمیکنه که توی SaveFileDialog چه گزینه ای انتخاب شده.

if (saveFileDialog1.ShowDialog() == DialogResult.OK) save

میبخشین میشه بیشتر توضیح بدین من متوجه نشدم

mehdi5106
جمعه 15 مرداد 1389, 20:27 عصر
کد شما پس از باز کردن dialog در صورتی که کاربر از ذخیره تصویر انصراف دهد با مشکل مواجه می شود. پس باید با استفاده از دستور FastCode جلوی این کار را بگیرید

sayan
جمعه 15 مرداد 1389, 21:16 عصر
سلام دوست عزیز
من کد شما رو اینجوری نوشتم البته در ابتدا فرض کردم شما تو Design برنامه ات برای pictureBox1 یک عکس
مشخص کردی
-------------------------------


string a = "";
SaveFileDialog sd = new SaveFileDialog();
sd.ShowDialog();
a = sd.FileName;
Bitmap c = new Bitmap(pictureBox1.Image);
a = a + ".jpg";
c.Save(a);

موفق باشی:لبخندساده:

salehbagheri
جمعه 15 مرداد 1389, 21:36 عصر
سلام دوست عزیز
من کد شما رو اینجوری نوشتم البته در ابتدا فرض کردم شما تو Design برنامه ات برای pictureBox1 یک عکس
مشخص کردی

خوبه در پست های قبلی توضیح داده شد که چگونه باید از Dialog ها استفاده بشه...

if(MySaveFileDialog.ShowDialog() == DialogResult.OK)
{
Bitmap Bmp = new Bitmap(MyPictureBox.Image);
Bmp.Save(MySaveFileDialog.FileName);
}


به این صورت اگر کاربر پس از نمایش SavefileDialog از ذخیره کردن فایل منصرف شد مشکلی در برنامه ایجاد نمیشه.
اما در روش شما در هرصورت عمل Save انجام میشه و چون مقدار SaveFileDialog.FileName خالی هست، بنابراین با خطای object reference not set to an instance of an object روبرو میشید.