PDA

View Full Version : نمایش عکس ذخیره شده در بانک اطلاعاتی با استفاده از Window Photo Viewer



BehinAfzar
سه شنبه 24 اسفند 1389, 10:36 صبح
سلام دوستان
من میخوام عکسی رو که در بانک اطلاعاتی ذخیره کردم رو با نرم افزار نمایش عکس خود ویندوز به کاربر نشون بدم !
ایا این امکان وجود داره که من برنامه Photo viewer ویندوز رو اجرا کنم و عکس داخل دیتابیس رو به اون تخصیص بدم ؟
( البته من خود عکس رو ذخیره کردم )

ممنون از همکاری دوستان

ali.rezaei7
سه شنبه 24 اسفند 1389, 11:01 صبح
سلام. عكس بايد بصورت يك فايل موقت روي هارد ذخيره و اجرا بشه. و بعد از اينكه كاربر برنامه Photo Viewer رو بست، فايل موردنظر توسط برنامه شما از روي هارد حذف بشه.

BehinAfzar
سه شنبه 24 اسفند 1389, 11:57 صبح
سلام. عكس بايد بصورت يك فايل موقت روي هارد ذخيره و اجرا بشه. و بعد از اينكه كاربر برنامه Photo Viewer رو بست، فايل موردنظر توسط برنامه شما از روي هارد حذف بشه.


یعنی راهی وجود نداره که برنامه photo viewer رو بتونیم اجرا کنیم ؟
طریقه اجرای فایل ذخیره شده به چه صورته ؟
البته با ذخیره و اجرای فایل عکس مشکلاتی وجود داره و اون هم اینه که ما نمیدونیم با چه نرم افزاری در کامپیوتر مقصد اجرا میشه ؟؟!!

با تشکر

ali.rezaei7
سه شنبه 24 اسفند 1389, 12:10 عصر
System.Diagnostics.Process p = new System.Diagnostics.Process();
p.StartInfo.FileName = @"PictureFileName";
p.EnableRaisingEvents = true;
p.Exited += new EventHandler(p_Exited);
p.Start();
void p_Exited(object sender, EventArgs e)
{

System.IO.File.Delete(@"PictureFileName");
}

در دستورات بالا، عكس بوسيله نرم افزار پيشفزض، به نمايش در مياد و بعد از اينكه نرم افزار بسته شد، عكس حذف ميشه.

یعنی راهی وجود نداره که برنامه photo viewer رو بتونیم اجرا کنیم ؟راه وجود داره. ولي چه فرقي مي كنه كه با چه نرم افزاري باز بشه.

BehinAfzar
سه شنبه 24 اسفند 1389, 13:18 عصر
راه وجود داره. ولي چه فرقي مي كنه كه با چه نرم افزاري باز بشه.

خوب ممکنه اون نرم افزار photoshap باشه که برای لود و نمایش عکس خیلی زمان میخواد ؟؟!!

ali.rezaei7
سه شنبه 24 اسفند 1389, 14:16 عصر
Process p = new Process();
p.StartInfo.FileName = "rundll32.exe";
p.StartInfo.Arguments = "shimgvw.dll,ImageView_Fullscreen "+PictureFilePath;
p.EnableRaisingEvents = true;
p.Exited += new EventHandler(p_Exited);
p.Start();


void p_Exited(object sender, EventArgs e)
{

System.IO.File.Delete(PictureFilePath);
}

Window Photo Viewer داخل فايلي بنام shimgvw.dll قرار گرفته.براي اجراي اينگونه از app ها بايد از rundll32.exe استفاده كنيم.

rundll32.exe dllName,AppName args