PDA

View Full Version : image layout یک pictureBox



daivid_ d31r1
دوشنبه 08 شهریور 1389, 22:40 عصر
سلام دوستان
من یه پیکچر باکس دارم که درون یه فرم ام دی آی هستش و با دابل کلیک میتونم یه تصویر انتخاب کنم واونو نشون بدم
اما وقتی خاصیتهای tile,stretch,center..را عوض میکنم برنامه کلا بسته میشه!یعنی Exit البته این فقط برای بعضی از تصویرا اتفاق می افته
خطایی که میده هم Out of Memory هستش
به نظرتون چه دلیلی داره ؟؟ میشه رفعش کرد؟ چه جوری میشه؟
ممنون
--------------------------------------
یاد باد آنکه نهانت نظری با ما بود
رقم مهر تو بر چهره ی ما پیدا بود

#aliyari_C
سه شنبه 09 شهریور 1389, 03:15 صبح
سلام........خدا قوت
چیزی که باید مدنظر گرفت بدون توجه به نوع تصویری که بر روی دیسک دخیره است , وقتی شما آنرا Load یا باز می کنید , تصویر به bitmap تبدیل خواهد شد و آنوقت نیازبه 4 بایت در هر Pixels می باشد
برا مثال اگر شما عکسی با اندازه 1920x1080 pixels داشته باشیم:


1920 pixels x 1080 pixels x 4 bytes/pixel=8294400 bytes!

خوب تکلیف چیست ؟
1.Memory را زیاد کنیم .....خوب پول نداریم
2. مثلا عکس تهران را می خوای Load کنی . بیای به 4 قسمت تقسیمش کنی با هرکدوم که کار داشتی load ش کنی
اگر نامفهم بود بگو
موفق باشی
__________________________________________________ _______________________
سکوت سرشار از نا گفته هاست...........

daivid_ d31r1
چهارشنبه 10 شهریور 1389, 20:34 عصر
سلام دوست من!
چطور میشه تقسیمش کرد؟
آخه من یه ام دی ای دارم که این پیکچر باکسو گذاشتم داخل اون و میخام کاربر بتونه یه تصویر انتخاب کنه براش ، حالا اگه وسط برنامه یهو بسته بشه میدونی که به احتمال زیاد چنتا ناسزا... بهمون میگه!
از طرفی هم نمیشه بهش بگیم تصویرای کم حجم انتخاب کن!!
فک میکنی راه حلی براش هست؟
یعنی همه برنامه هایی که از پیکچر باکس استفاده میکنن همینطورن؟
رم سیستمم هم 2.5 ه
ممنون
--------------------------------------------
ای فدای تو همه بز های من
ای برایت هی هی و هی های من!

#aliyari_C
چهارشنبه 10 شهریور 1389, 22:44 عصر
از طرفی هم نمیشه بهش بگیم تصویرای کم حجم انتخاب کن!!

برا چی نموتی بهش بگی , تو Photoshop امتحان کن ببین چه پیغامی بهت می ده , بهت میگه که ram شما جا به اندازه کافی برای این عکس ندارد ,برو رم اضافه کن مشکل که از من نیست.
بعدش هم آخه چرا همچین عکسی با این حجم رو می خوای Load کنی.


فک میکنی راه حلی براش هست؟

بیا بهش پیغام بده:کاربر محترم.......


try
{
Image image = Image.FromFile(imageFile);

PictureBox PictureBox = new PictureBox();




PictureBox.Image = Image.FromFile(imageFile);

}
catch(OutOfMemoryException) { } // اینم کاربر خیلی محترم...


موفق باشی

daivid_ d31r1
جمعه 12 شهریور 1389, 23:19 عصر
سلام دوست من
مرسی از پیگیری شما!
ولی مشکل اینه که من "ترای کش" گذاشتم ولی بازم از برنامه کلا خارج میشه!
از طرفی میگم وقتی اون تصویرو "استرچ تایل و یا سنتر ..." میکنم این مشکل پیش میادشش

--------------------------------
تا کی از سیم و زرت کیسه تهی خواهد ماند
بنده ی من شو بر خور ز همه سیم تنان

#aliyari_C
شنبه 13 شهریور 1389, 00:34 صبح
ولی مشکل اینه که من "ترای کش" گذاشتم ولی بازم از برنامه کلا خارج میشه!

مگه می شه , کاربردش همینه که از برنامه خارج نشه و کنترل رو دست خودمون بگذاره ,چه error می ده, لطف کن کدت رو هم بذار!:متفکر:

daivid_ d31r1
سه شنبه 16 شهریور 1389, 21:12 عصر
سلام دوست من

اروو شو گذاستم ولی انگار با "" تایل tile"" شدن یعضی تصاویر مشکل داره

میشه بگی چطور از یک openfileDialogo یک تصویر رو ست میکنیم به rictureBox
ممنون