PDA

View Full Version : اختصاص یک فرمت خاص برای عکس



programerinfonet
دوشنبه 31 تیر 1392, 11:27 صبح
سلام دوستان
من میخوام تو برنامم یک بخش داشته باشم که کاربر با نمایش داده شدن openfiledialog بتونه مثلأ یک فرمت خاص "SSF"رو انتخای کنه و با زدن دکمه ی open اون فایل به لیست باکس اضافه بشه و در واقع اون فایل یک عکسه که با انتخاب آیتمش از لیست باکس عکس در پیکچرباکس نمایش داده شود
ممنون

sohil_ww
دوشنبه 31 تیر 1392, 11:44 صبح
سلام دوستان
من میخوام تو برنامم یک بخش داشته باشم که کاربر با نمایش داده شدن openfiledialog بتونه مثلأ یک فرمت خاص "SSF"رو انتخای کنه و با زدن دکمه ی open اون فایل به لیست باکس اضافه بشه و در واقع اون فایل یک عکسه که با انتخاب آیتمش از لیست باکس عکس در پیکچرباکس نمایش داده شود
ممنون

بلاخره می خوای آدرس عکس ذخیره بشه یا خود عکس تو پیچکر باکس نمایش داده بشه !
ssf پیکجرباکس ساپورت می کنه

abdullah20
دوشنبه 31 تیر 1392, 12:06 عصر
دو راه دارید
1- پسوند فایل را تبدیل کنید به یکی از پسوند های رایج بعد در پیکچرباکس نمایش بدید
2- ابتدا تصویر را به آرايه و جرياني از بايت ها تبدیل سپس نمایش دهید

programerinfonet
دوشنبه 31 تیر 1392, 12:57 عصر
مشکل تو اون قسمت حل شد
اما مشکل جدید
من میخوام وقتی کاربر روی دکمه ی Ok پنجره ی openfiledialog کلیک کرد تصویر انتخابی که تو پیکچرباکس بیاد و همین طور همون فایل عکس تو پوشه ی Images موجود در پوشه ی دیباگ برنامه کپی بشه
اینو چی کار کنم
مرسی

sohil_ww
دوشنبه 31 تیر 1392, 13:14 عصر
از این کد استفاده کنید برای کپی
file.copy(addres1,addres2);

abdullah20
دوشنبه 31 تیر 1392, 13:28 عصر
OpenFileDialog dlgOpen = new OpenFileDialog();
dlgOpen.Filter = "Image Files(*.ssf;)|*.ssf;";
if (dlgOpen.ShowDialog() == DialogResult.OK)
{
//نمایش عکس در پیکچر باکس
System.Drawing.Image image1 = System.Drawing.Image.FromFile(dlgOpen.FileName);
MemoryStream ms = new MemoryStream();
image1.Save(ms, image1.RawFormat);
byte[] arrPic = ms.GetBuffer();
pictureBox1.Image = Image.FromStream(ms);
ms.Close();

//کپی در در پوشه
File.Copy(dlgOpen.FileName,Application.StartupPath +"\\image\\"+Path.GetFileName ( dlgOpen.FileName));
}

programerinfonet
دوشنبه 31 تیر 1392, 13:57 عصر
دوست عزیز این کد مشکل منو حل کرد و من یه کاری هم کردم
تمام فایل های موجود تو پوشه ی ایمیجز رو تو لیست باکس آیتم کردم اما این طوریه
pic1.ssf
pic2.ssf
...
چه طوری من این ".ssf" رو از ته آیتم ها پاک کنم ؟

abdullah20
دوشنبه 31 تیر 1392, 15:19 عصر
Path.GetFileNameWithoutExtension(path);

programerinfonet
دوشنبه 31 تیر 1392, 16:56 عصر
Path.GetFileNameWithoutExtension(path);
نشد
دوستان چه طوری می تونم از تمام آیتم های لیست باکس یه بخشی رو پاک کنم
آیتم ها
pic1.ssf
pic2.ssf
pic3.ssf
و ...
میخوام .ssf ها رو پاک کنم و فقط pic ها باقی بمونه
ممنون

abdullah20
دوشنبه 31 تیر 1392, 17:43 عصر
یعنی چی نشد؟
این ستاره های زرد رنگ مال خودتونه؟
این کدی من گذاشتم موقعی که ایتم ها را میخوای بیاری داخل لیست باکس ازش استفاده میکنی
شما فکر کنم اول لود کردی بعد از این کد استفاده کردی :گیج:
اگر بعد از لود کردن می خوای این کار را کنی از کد زیر استفاده کنید:

for (int i = 0; i < listBox1.Items.Count; i++)
listBox1.Items[i] = listBox1.Items[i].ToString().Replace(".ssf", "");

programerinfonet
دوشنبه 31 تیر 1392, 17:49 عصر
دوست عزیز دقیقأ منم همین کار رو کردم قبل لود آیتم ها قرار داد

sohil_ww
دوشنبه 31 تیر 1392, 17:50 عصر
این ستاره های زرد رنگ مال خودتونه؟

دوست عزیز این چه حرفیه

for (int i = 0; i < listBox1.Items.Count; i++)
listBox1.Items[i] = listBox1.Items[i].ToString().Replace(".ssf", "");

من دقیقا همین راهو به ایشون پیشنهاد دادم و چون می دونستم منطقی نیست تو تایپیک نگفتم پیام خصوصی دادم(به خاطر این که ستاره ها رو دیدم فهمیدم ایشون دنبال 1 کد اصولی هستن )
و حالا جرا راه من و شما اصولی نیست چون وقتی کاربر می خواد رو آیتم لیست باکس سلکت کنه که عکس ببینه باز باید همین فرایند انجام بشه

programerinfonet
دوشنبه 31 تیر 1392, 17:56 عصر
دوست عزیز این چه حرفیه

for (int i = 0; i < listBox1.Items.Count; i++)
listBox1.Items[i] = listBox1.Items[i].ToString().Replace(".ssf", "");

من دقیقا همین راهو به ایشون پیشنهاد دادم و چون می دونستم منطقی نیست تو تایپیک نگفتم پیام خصوصی دادم(به خاطر این که ستاره ها رو دیدم فهمیدم ایشون دنبال 1 کد اصولی هستن )
و حالا جرا راهمار من و شما اصولی نیست چون وقتی کاربر می خواد رو آیتم لیست باکس سلکت کنه که عکس ببینه باز باید همین فرایند انجام بشه
سهیل جان ایشون حق دارن
یک سوال خیلیسادست اما تا زمانی که فقط میخونیش . وقتی پیادش کردیو اونم از راه اصولیش منطقی این دوستمون با توجه به سابقشون معلومه که زیاد رو پروژه های بزرگ فعالیت نداشتن تا متوجه این موضوع بشن که هر کدی که نتیجه داد درست نیست

abdullah20
دوشنبه 31 تیر 1392, 18:14 عصر
و حالا جرا راه من و شما اصولی نیست چون وقتی کاربر می خواد رو آیتم لیست باکس سلکت کنه که عکس ببینه باز باید همین فرایند انجام بشه

کدوم فرایند را دوباره باید انجام بده؟بعدش شما از روی کدوم سابقه میگید که من روی پروژه های بزرگ کار نکردم؟
حالا اقای programerinfonet شما که روی پروژه ها بزرگ کار کردی بگو ببینم مشکل این کد چیه ؟
یا از این بگذریم خودت یه کد اصولی بنویس ببینم
من که اصلا زیاد نمیام به سوال های این سایت جواب بدم چون از هر 100 سوالش یکی از اونها واقعا سواله
اینیم که به این تاپیک که خیلی سادس پاسخ دادم به خدا فقط ستاره های شما را دیدم
بعد اون حرفی که زدم" این ستاره های زرد رنگ مال خودتونه؟" اعصابم خورد شد چون از امثال شما انتظار ندارم همچین سوالهایی بپرسید
به هر حال من کل پروژتون را الان اماده کردم خواستید بگید تا براتون بزار
اگر هم بی احترامی کردم ببخشید

sohil_ww
دوشنبه 31 تیر 1392, 18:26 عصر
کدوم فرایند را دوباره باید انجام بده؟بعدش شما از روی کدوم سابقه میگید که من روی پروژه های بزرگ کار نکردم؟
حالا اقای programerinfonet شما که روی پروژه ها بزرگ کار کردی بگو ببینم مشکل این کد چیه ؟
یا از این بگذریم خودت یه کد اصولی بنویس ببینم
من که اصلا زیاد نمیام به سوال های این سایت جواب بدم چون از هر 100 سوالش یکی از اونها واقعا سواله
اینیم که به این تاپیک که خیلی سادس پاسخ دادم به خدا فقط ستاره های شما را دیدم
بعد اون حرفی که زدم" این ستاره های زرد رنگ مال خودتونه؟" اعصابم خورد شد چون از امثال شما انتظار ندارم همچین سوالهایی بپرسید
به هر حال من کل پروژتون را الان اماده کردم خواستید بگید تا براتون بزار
اگر هم بی احترامی کردم ببخشید

دوست عزیز منظور من بد متوجه شدید من در باره سابقه شما نظری ندادم
و در مورد فرایند باید موقعی که 1 آیتم لیست باکس انتخاب شد دوباره فرمت به اسم عکس اضافه بشه.(شایدم راهی دیگه ای باشه که من بلد نیستم)
و در کل منظور من این بود که 1 راه اصولی تر هست یا نه خودشوما هم می دونید این کار درستی نیست ولی بعضی اوقات چون چاره نداریم باید از اینگونه دستورات استفاده کنیم

و در آخر اگه کلام من باعث دل آزردگی شما شد من از شما پوزش می طلبم

abdullah20
دوشنبه 31 تیر 1392, 18:38 عصر
همینه دیگه دقت نکردی فکر کنم قند خونت خیلی اومده پایین
دوست من اگر یکم دقت کنید مشاهده میکنید که ما اصلا با فرمت فایل کاری نداریم و ما اصلا با فایل کار نمیکنیم ما داریم با رشته ها کار میکنیم
شما یه دستور مینویسید اسم کل عکسها را داخل لیست باکس میاره منهای .ssf تا اینجا ما با فایل و پسوند کاری کردیم؟
موقع لود هم همین طور وقتی عکس میخواد بیاد ما چی بهش میدیم مسیر عکس حالا این مسیر چیه رشته هستش
متوجه شدی دوست من؟حالا اگر بازم میبینی اشتباه میگم بگو

sohil_ww
دوشنبه 31 تیر 1392, 19:07 عصر
دوست عزیزم واقعا من الان خوشحالم که این تایپیک داره به این صورت پیش میره سئوال خودمون و شرایط برنامه رو برای هم شرح می دیم
اگه چنذ لحظه به من مهلت بدی من برات 1 سورس می زارم که تو اون کامل متوجه موضوع صحبت من بشی

sohil_ww
دوشنبه 31 تیر 1392, 19:12 عصر
دانلود (http://uplod.ir/i1ncp65xzc25/pic_to_bainnery.zip.htm)

منظورم من از دوباره کاری فرایندی که در انتخاب آیتمی از لیست باکس انجام می شه

programerinfonet
دوشنبه 31 تیر 1392, 19:39 عصر
دوست عزیز شرمنده
ظاهرأ سوالمو بد مطرح کرده بودم
جوابمو تو stack over پیدا کردم
ممنون از کمکتون

abdullah20
دوشنبه 31 تیر 1392, 19:44 عصر
عزیز من sohil_ww عزیز چی نوشتی ؟
چرا وقتی عکس ها را تو پوشه ذخیره کردی پسوندشون را پاک کردی؟
به خدا داری اشتباه میکنی
بعد از افطار تاپیک را از اول تا اخر یه نگاهی بنداز
کد من به این صورته که اول عکس را داخل پوشه ذخیره میکنه بعد میاره داخل لیست باکس
خواهشا دیگه تاپیک را ادامه نده چون دلم نمیخواد مطلب به این سادگی زا الکی ادامه بدیم