سلام
توی فرمم عکسهارو لود میکنم، بعضی از عکسها ممکنن نیاز به rotate داشته باشن!میخوام بعد از چرخش یه دکمه باشه که اونو روی همون فایل بدون پرسیدن آدرس!!!! ذخیره کنه!
از filestraem استفاده کردم ارور GDI میداد
سلام
توی فرمم عکسهارو لود میکنم، بعضی از عکسها ممکنن نیاز به rotate داشته باشن!میخوام بعد از چرخش یه دکمه باشه که اونو روی همون فایل بدون پرسیدن آدرس!!!! ذخیره کنه!
از filestraem استفاده کردم ارور GDI میداد
سلام
لطفا کدی را که استفاده کردید قرار دهید.
در ضمن میتوانید در هنگام باز کردن تصویر آدرس آن را ذخیره کنید تا در هنگام ذخیره کردن، از همان آدرس استفاده کنید.
چشم ظاهر گر نبیند عیب نیست چشم دل گر ننگرد باید گریست**********اَلسَّلامُ عَلَى الْحُسَيْنِ وَ عَلى عَلِىِّ بْنِ الْحُسَيْنِ وَ عَلى اَوْلادِ الْحُسَيْنِ وَ عَلى اَصْحابِ الْحُسَيْنِ
یکم کد رو تغییر دادم
حالا ارور در حال استفاده از عکس رو میده!!!! در حالی که از فایل استریم استفاده کردم!
FileStream fs = new FileStream(picture_path, FileMode.Open, FileAccess.Read);
Image pic = Image.FromStream(fs);
fs.Close();
min_pic.Image = pic;
min_pic.Image.Save(ms, System.Drawing.Imaging.ImageFormat.Tiff);
byte[] buff = ms.ToArray();
FileStream fs = new FileStream(picture_path, FileMode.Create, FileAccess.Write);
fs.Write(buff, 0, buff.Length);
fs.Close();
سلام
اینمیه تابع واسه روتید کردن عکس
public Image RotateImage(Image img)
{
var bmp = new Bitmap(img);
using (Graphics gfx = Graphics.FromImage(bmp))
{ gfx.Clear(Color.White);
gfx.DrawImage(img, 0, 0, img.Width, img.Height);
}
bmp.RotateFlip(RotateFlipType.Rotate270FlipNone);
return bmp;
}
سلام
میتوانید فایل را موقتا در یک Stream دیگر یا روی یک MemoryStream ذخیره کرده شی Image یا Bitmap را Dispose کنید تا فایل آزاد شود و سپس از روی Stream موقت روی فایل اصلی بنوسید و مجددا تصویر را لود کنید.
در تاپیک زیر هم روشهای مناسبتری بررسی شده:
حذف فایل استفاده شده در برنامه
چشم ظاهر گر نبیند عیب نیست چشم دل گر ننگرد باید گریست**********اَلسَّلامُ عَلَى الْحُسَيْنِ وَ عَلى عَلِىِّ بْنِ الْحُسَيْنِ وَ عَلى اَوْلادِ الْحُسَيْنِ وَ عَلى اَصْحابِ الْحُسَيْنِ