PDA

View Full Version : سوال: خواندن عکس از بانک و ذخیره موقت آن در فولدر



danial123456
شنبه 03 دی 1390, 16:09 عصر
با سلام در این برنامه عکسها به صورت bit در sql ذخیره میشن واسه خوندن عکس ها هم مشکلی ندارم .فقط می خوام یک تعداد از عکسها به طور موقت در یک فولدر ذخیره بشن چون آدرس عکسها رو لازم دارم
کد ذخیره عکسها:
MemoryStream ms = new MemoryStream();
pictureBox1.Image.Save(ms, pictureBox1.Image.RawFormat);
ArrPic = ms.GetBuffer();
کد خواندن عکسها:
byte[] arrPic = (byte[])(karkhaneDataSet._base[p].ax);
MemoryStream ms = new MemoryStream(arrPic);
pictureBox1.Image = Image.FromStream(ms);
تشکر از دوستانی که به سوالم جواب میدن

sayvan
شنبه 03 دی 1390, 16:22 عصر
سلام

تصویر pic box رو در یه الگوی بیتی یا همون bitmap ذخیره میکنی کد:
Bitmap s = new Bitmap(pictureBox1.Image);
بعد الگو رو در یه فایل با پسوند مورد نظر ذخیره میکنی کد:
s.Save("c:\\a.bmp");

danial123456
شنبه 03 دی 1390, 17:38 عصر
ممنون sayvan جان
میتونی کدی رو بزاری که بر اساس یک Qery یک تعداد از عکس هارو توی پوشه ای با اسم پویا(مثلا اسم یک فیلد)
ذخیره کنه؟

sayvan
یک شنبه 04 دی 1390, 17:11 عصر
میتونی ذخیره کردن تصاویر رو تو یه تابع تعریف کنی که ورودیش یه تصویره تابع زیر:
private void saveimage(Image img)
{
if (!(Directory.Exists("مسیر ونام پوشه")))
Directory.CreateDirectory("مسیر و نام پوشه برای ایجاد");
Bitmap bitm = new Bitmap(img);
bitm.Save("مسیر پوشه +نام فیل و پسوندش");

}

بعدش میتونی تویه حلقه For هم تصاویرت رو عوض کنی و هم تابعت رو برای ذخیره کردن صدا بزنی
for (int i = 0; i < 5; i++)
{
//تعویض تصویر میتونی کنترلت رو
//Visible رو False کنی
saveimage(pictureBox1.Image);
}

danial123456
سه شنبه 06 دی 1390, 20:57 عصر
داداش دستت درد نکنه خیلی کمکم کردی.2 تا زحمت دیگه واست داشتم یکی این که میخوام آدرس هر عکسی که ذخیره مشه رو تویه یک چیزی مثل آرایه داشته باشم .بعدیشم اینکه چطوری بعد از اینکه کارم با عکسها تموم شد پاکشون کنم؟
بازم ممنون

sayvan
چهارشنبه 07 دی 1390, 08:20 صبح
میتونی در یه جایی آرایه تو به صورت Public تعریف کنی
در اینجا 10 تا آدرس مثلاً
string[] str =new string[10] ;
وقتی که عکس رو دخیره کردی آدر سشم در آرایه میذاری در ضمن یه شمارنده میذاری که هر بار در خانه بعدی ذخیره ش کنه مثلاً i(پابلیک)
bitm.Save("مسیر پوشه +نام فیل و پسوندش");
str[i] = "مسیر پوشه +نام فیل و پسوندش";

وقتی که کارت با عکسات تموم شد میتونی کل پوشه رو با فایل و فولدر حذف کنی
Directory.Delete("مسیر ونام پوشه", true);