PDA

View Full Version : سوال: استفاده از عکس



gilas1368
یک شنبه 09 بهمن 1390, 20:12 عصر
سلام به تمامی اساتید
من یه عکس دارم که width=8200 و height=5684 پیکسله
حالا چطور میتونم داخل برنامم ازش استفاده کنم:متفکر:
در ضمن نمی خوام عکس رو تکه تکه کنم
داخل picturebox هم نمایش داده نمیشه چون سایزش و حجمش بالاست ( حجمش 47 مگابایته )
imagelist هم تا سایز 256*256 قبول میکنه

خواهش میکنم کمکم کنین

باتشکر

Hybrid
یک شنبه 09 بهمن 1390, 21:06 عصر
سلام دوست عزیز امیدوارم حالت خوب باشه.. چرا از طریق کنترل PictureBox به برنامه واردش نمیکنی؟؟؟.. میتونین خاصیت sizeMode این کنترل را به StretchImage تغییر بدین تا عکس به کنترل فیکس بشه..

فکر کنم جواب بده..

موفق باشید./

gilas1368
یک شنبه 09 بهمن 1390, 21:15 عصر
سلام به شما دوست و سرور گرامی
بخاطر خاصیتهای طول و عرض بالا و هم چنین حجم بالا برنامه ابتدا هنگ میکنه
وسپس خطای رسم تصویر رو میگیره

Farshid007
یک شنبه 09 بهمن 1390, 21:22 عصر
خوب مرد حسابی همچین عکسی رو با خود ویندوز که بازش کنی چند دیقه طول میکشه باز بشه!
توقع داری C# بازش کنه
در ضمن اونجوری حجم برنامه هم خیلی می ره بالا بهتره بی خیالش بشی یا حجمشو بیاری پائین

gilas1368
یک شنبه 09 بهمن 1390, 22:02 عصر
Farshid007 عزیز
ویندوز مشکلی با بازکردن همچین فایلی نداره لااقل ویندوز من که نداره
می دونم حجم برنامه بالا میره ولی چون قراره روی عکس زوم بشه
نمیتونم حجمش رو هم پائین بیارم
چون با زوم کردن روی عکسی که حجمش کم شده کیفیت عکس پائین میاد

gilas1368
دوشنبه 10 بهمن 1390, 09:42 صبح
از دوستان کسی نظری نداره

zarrinnegar
دوشنبه 10 بهمن 1390, 11:36 صبح
سلام دوست عزیز

چرا
یکی از دوستان نظری داره
ولی گوش نمیکنن :لبخند:

راهش همونیه که قبلا گفتم

عکست رو باید تکه کنی
ولی راه و تکنیک زوم رو نمیدونی
GoogleEarth رو دیدی؟
همیشه همه چی رو زوم نمیکنه
شما باید بر اساس محله و قسمت ، عکس رو تکه کنی
یک عکس کوچیک از نمای کلی نشون بدی
بعد که کاربر کلیک کرد روی یک قسمت ، اون قسمت رو زوم نشون بدی
هم حجم پایین میاد و هم سرعت بالا میره

amir3321
دوشنبه 10 بهمن 1390, 11:48 صبح
ببین این دوتا لینک کمکت می کنه

لینک 1 (http://stackoverflow.com/questions/3567558/display-picture-box-faster)
لینک 2 (http://www.codeproject.com/Articles/15743/Pan-and-Zoom-Very-Large-Images)

من این کد جهت لود عکس 10 mb چک کردم خیلی سریع بود

private void loadImage(string path)
{
using (var srce = new Bitmap(path))
{
var dest = new Bitmap(pictureBox1.Width, pictureBox1.Height, System.Drawing.Imaging.PixelFormat.Format32bppPArg b);
using (var gr = Graphics.FromImage(dest))
{
gr.DrawImage(srce, new Rectangle(Point.Empty, dest.Size));
}
if (pictureBox1.Image != null) pictureBox1.Dispose();
pictureBox1.Image = dest;
}
}

private void button1_Click(object sender, EventArgs e)
{
loadImage("c:\\88.jpg");
}

Hajivandian
دوشنبه 10 بهمن 1390, 14:53 عصر
سلام یه نمونه ضمیمه کردم ببین مشکلت رو حل میکنه