PDA

View Full Version : سوال: تغییر سایز عکس



arash_flag
یک شنبه 20 بهمن 1392, 19:04 عصر
سلام دوستان من از کد زیر استفاده میکنم اما نمیدونم چه کار می کنه ؟
مرسی
فقط خواهشا کامل باشه
MemoryStream m = new MemoryStream(File.ReadAllBytes (img_path ));

Image img = Image.FromStream(m);

ImageFormat f = img.RawFormat;

Bitmap bmpr = new Bitmap(img,w,h);

bmpr.Save(m,f );
bmpr.Save(new_path );
img.Dispose();
bmpr.Dispose();

amirreza_.net
یک شنبه 20 بهمن 1392, 19:34 عصر
Image img;

Bitmap bmp = new Bitmap(img,20,20);
pictureBox1.Image = bmp;
SaveFileDialog sf = new SaveFileDialog();
sf.Filter = "Jpg (*.jpg) | *.jpg";
if (sf.ShowDialog() == DialogResult.OK)
{
pictureBox1.Image.Save(sf.FileName);
}
img.Dispose();

arash_flag
یک شنبه 20 بهمن 1392, 19:47 عصر
Image img;

Bitmap bmp = new Bitmap(img,20,20);
pictureBox1.Image = bmp;
SaveFileDialog sf = new SaveFileDialog();
sf.Filter = "Jpg (*.jpg) | *.jpg";
if (sf.ShowDialog() == DialogResult.OK)
{
pictureBox1.Image.Save(sf.FileName);
}
img.Dispose();

دوست عزیز توضیح میخام .
مرسی

arash_flag
دوشنبه 21 بهمن 1392, 11:43 صبح
سلام کسی نبود این کد رو توضیح بده ؟
MemoryStream m = new MemoryStream(File.ReadAllBytes (img_path ));

Image img = Image.FromStream(m);

ImageFormat f = img.RawFormat;

Bitmap bmpr = new Bitmap(img,w,h);

bmpr.Save(m,f );
bmpr.Save(new_path );
img.Dispose();
bmpr.Dispose();

Mousavmousab
دوشنبه 21 بهمن 1392, 13:44 عصر
سلام کجاشو متوجه نشدی؟

این مثال عکس را تغییر اندازه نمیده. مراحل تغییر اندازه به این شکل نیست. اگر دوست داری بگو این کد ها را توضیح می دم .

amir11205
دوشنبه 21 بهمن 1392, 13:57 عصر
سلام کسی نبود این کد رو توضیح بده ؟
MemoryStream m = new MemoryStream(File.ReadAllBytes (img_path ));

Image img = Image.FromStream(m);

ImageFormat f = img.RawFormat;

Bitmap bmpr = new Bitmap(img,w,h);

bmpr.Save(m,f );
bmpr.Save(new_path );
img.Dispose();
bmpr.Dispose();




سلام
کد بالا یک عکسو از محل ذخیره شدنش در حافظه جانبی می خونه (img_path) و بعدش با دستور ImageFormat f = img.RawFormat فرمت فایل رو پیدا میکنه و پس از اون با دستور Bitmap bmpr = new Bitmap(img,w,h) از رو عکس مورد یک بیت مپ با اندازه های w, h می سازه و پس از اون عکس جدید رو ذخیره میکنه.

arash_flag
دوشنبه 21 بهمن 1392, 18:45 عصر
[QUOTE=Mousavmousab;1973051]سلام کجاشو متوجه نشدی؟

سلام من این این 3 تا خط و نفهمیدم ؟؟
MemoryStream m = new MemoryStream(File.ReadAllBytes (img_path ));

Image img = Image.FromStream(m);

ImageFormat f = img.RawFormat;

Mousavmousab
دوشنبه 21 بهمن 1392, 23:17 عصر
دوست عزیز خط اول شامل دو دستور است:


File.ReadAllBytes (img_path )


آدرس عکس را دریافت می کند و آن را به بایت تبدیل می کند.
کلاس Stream (یک دسته یا سری از جریان داده ها) این داده را به صورت بایت نگه می داد. و متد


ReadAllBytes


تمام فایل مربوطه ( که اینجا عکس است) را به طور کلی یکجا می خواند و تبدیل به بایت می کند.

تا اینجا شما عکس را خواندین و به صورت جریانی از داده ها یا Stream در متغیر m نگه داشتین.
برای استفاده از این Stream شما باید این بایت ها را تبدیل به عکس کنید برای این منظور از کلاس Image استفاده می کنید.
خط سوم هم که قالب عکس را نشون میده شما می تونید در این مثال حذف کنید چون کاری برای شما انجام نمیده. همان طور که از نام کلاسش پیداست فقط قالب عکس را مشخص می کند.