PDA

View Full Version : سوال: تغییر اندازه PictureBox



NASA's Spaceman
یک شنبه 21 اردیبهشت 1393, 21:15 عصر
سلام
وقتی توی اجرا اندازه PictureBox رو تغییر میدم اندازش تغییر میکنه ولی وقتی میخوام تو زمان اجرا ذخیرش کنم دوباره با همون اندازه اولیش ذخیره میشه چیکار کنم که اگه تغییر اندازه انجام شد با همون اندازه تغییر یافته ذخیره بشه؟
با سپاس Spacemanh

marmulak_7
دوشنبه 22 اردیبهشت 1393, 13:55 عصر
با سلام

من درست متوجه نشدم منظور شما رو ولی اگه میخواین اندازه جدیدی که دادین دوباره تغییر نکنه میتونی مقدار های جدید رو سیو کنید در قسمتی و دوباره اندازه ها رو هنگام اجرا فراخوانی کنید.

موفق باشید.

NASA's Spaceman
دوشنبه 22 اردیبهشت 1393, 14:41 عصر
مثلا یه تصویر تو زمان اجرا انتخاب کردم بعد میخوام اندازه اون تصویر رو کوچیک کنم و ذخیره کنم
ولی وقتی اندازه رو کوچیک میکنم و ذخیره میکنم، اون عکسی که ذخیره میشه با همون اندازه اولیش هست نه اون اندازه ای که من تغییرش دادم
اینو باید چیکار کنم؟
با سپاس Spaceman

marmulak_7
دوشنبه 22 اردیبهشت 1393, 15:01 عصر
شما کد هاتون رو قرار بدین تا بهتر بشه راهنمایی کرد

irartesh
دوشنبه 22 اردیبهشت 1393, 15:23 عصر
اندازه ذخیره عکس که به اندازه PictureBox ربطی نداره!!!!
کد زیر برای تغییر اندازه تصویر و ذخیره اون هستش

Bitmap image = new Bitmap(@"C:/Users/...../Desktop/filename.jpg");//select image
Bitmap pic = new Bitmap(image, new Size(100, 100));//insert new size
pic.Save(Environment.GetFolderPath(Environment.Spe cialFolder.Desktop) + "//filename.jpg"); //save new image

NASA's Spaceman
دوشنبه 22 اردیبهشت 1393, 21:11 عصر
ممنون
ولی الان یه مشکلی هست من میخوام وقتی گزینه save رو میزنم خودش اینکار رو انجام بده ولی این کد شما رو توی کد save خودم گذاشتم ولی کار نکرد
این کد ذخیره من هست
SaveFileDialog save = new SaveFileDialog();
save.Filter = "JPEG Files(*.jpg)|*.jpg|Bitmap Files(*.bmp)|*.bmp|PNG Files(*.png)|*.png";
if (save.ShowDialog() == DialogResult.OK)
{
switch (Path.GetExtension(save.FileName))
{
case ".jpg":
pictureBox1.Image.Save(save.FileName, ImageFormat.Jpeg);
break;
case ".bmp":
pictureBox1.Image.Save(save.FileName, ImageFormat.Bmp);break;
case ".png":
pictureBox1.Image.Save(save.FileName, ImageFormat.Png);break;
}
}
با سپاس Spaceman

irartesh
دوشنبه 22 اردیبهشت 1393, 22:18 عصر
الان مشکل کجاست؟این کد شما که بدرستی کار میکنه!!!!

اگر منظورتون اینه که موقع سیو ریسایز کنید اینجوری میشه

Bitmap img;

SaveFileDialog save = new SaveFileDialog();
save.Filter = "JPEG Files(*.jpg)|*.jpg|Bitmap Files(*.bmp)|*.bmp|PNG Files(*.png)|*.png";
if (save.ShowDialog() == DialogResult.OK)
{
switch (System.IO.Path.GetExtension(save.FileName))
{
case ".jpg":
img = new Bitmap(pictureBox1.Image , new Size(100,100));
img.Save(save.FileName , ImageFormat.Jpeg);
break;
case ".bmp":
img = new Bitmap(pictureBox1.Image , new Size(100,100));
img.Save(save.FileName , ImageFormat.Bmp);
break;
case ".png":
img = new Bitmap(pictureBox1.Image , new Size(100,100));
img.Save(save.FileName , ImageFormat.Png);
break;
}
}

marmulak_7
دوشنبه 22 اردیبهشت 1393, 22:29 عصر
من کدی که دوستمون برای شما قرار دادن رو به کد خودتون اضافه کردم :

البته فرض بر اینکه شما یه pictureBox روی فرم داری که قبلا عکس رو بهش اضافه کردین



SaveFileDialog save = new SaveFileDialog();
save.Filter = "JPEG Files(*.jpg)|*.jpg|Bitmap Files(*.bmp)|*.bmp|PNG Files(*.png)|*.png";
Bitmap pic = new Bitmap(pictureBox1.BackgroundImage, new Size(100, 100));
if (save.ShowDialog() == DialogResult.OK)
{
switch (Path.GetExtension(save.FileName))
{
case ".jpg":
pic.Save(save.FileName);
break;
case ".bmp":
pic.Save(save.FileName);
break;
case ".png":
pic.Save(save.FileName);
break;
}
}