PDA

View Full Version : سوال: ذخیره تصاویر



article
چهارشنبه 29 اردیبهشت 1389, 18:19 عصر
من می خواهم تصاویر کشیده شده بر روی picture box را ذخیره کنم اما اگر عکس باشد عکس را ذخیره می کنه اما تصاویر کشیده شده را ذخیره نمیکن کسی می تون بگه اشکال کا کجاست؟

cardano7
چهارشنبه 29 اردیبهشت 1389, 18:34 عصر
میشه بگید با چه کدی تصویر را استخراج و ذخیره می کنید؟

article
پنج شنبه 30 اردیبهشت 1389, 10:05 صبح
میشه بگید با چه کدی تصویر را استخراج و ذخیره می کنید؟
من از کد زیر برای ذخیره سازی استفاده می کنم
System.Windows.Forms.SaveFileDialog saveFileDialog1 = new System.Windows.Forms.SaveFileDialog();
saveFileDialog1.Filter = "JPEG File (*.jpg)|*.jpg|Bitmap File (*.bmp)|*.bmp|PNG File(*.png)|*.png";
if (saveFileDialog1.ShowDialog() == System .Windows .Forms .DialogResult .OK )
{
Form fr = new Form();
paint.Image.Save(saveFileDialog1.FileName, System.Drawing.Imaging.ImageFormat.Bmp); که paint شی picture box می باشد

cardano7
پنج شنبه 30 اردیبهشت 1389, 11:54 صبح
من از کد زیر برای ذخیره سازی استفاده می کنم
System.Windows.Forms.SaveFileDialog saveFileDialog1 = new System.Windows.Forms.SaveFileDialog();
saveFileDialog1.Filter = "JPEG File (*.jpg)|*.jpg|Bitmap File (*.bmp)|*.bmp|PNG File(*.png)|*.png";
if (saveFileDialog1.ShowDialog() == System .Windows .Forms .DialogResult .OK )
{
Form fr = new Form();
paint.Image.Save(saveFileDialog1.FileName, System.Drawing.Imaging.ImageFormat.Bmp); که paint شی picture box می باشد

منظور من کد باز کردن عکس بود.
من خودم این را نوشتم و امتحان کردم:

private void buttonImport_Click(object sender, EventArgs e)
{
System.Windows.Forms.OpenFileDialog openFileDialog1 = new OpenFileDialog();
openFileDialog1.Filter = "JPEG File (*.jpg)|*.jpg|Bitmap File (*.bmp)|*.bmp|PNG File(*.png)|*.png";
if (openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
pictureBox1.Image = Image.FromFile(openFileDialog1.FileName);
}

private void buttonExport_Click(object sender, EventArgs e)
{
System.Windows.Forms.SaveFileDialog saveFileDialog1 = new System.Windows.Forms.SaveFileDialog();
saveFileDialog1.Filter = "JPEG File (*.jpg)|*.jpg|Bitmap File (*.bmp)|*.bmp|PNG File(*.png)|*.png";
if (saveFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
pictureBox1.Image.Save(saveFileDialog1.FileName, System.Drawing.Imaging.ImageFormat.Bmp);
}

private void buttonStretch_Click(object sender, EventArgs e)
{
pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
}

کاملا درست کار می کرد. فقط عکس کشیده شده را به صورت نرمال خودش (و نه کشیده) ذخیره می کنه. که این هم کاری درست هست. چون PictureBox خودش اون را کشیده نمایش میده و گر نه به خود Image شما دست نمی زنه.
منظور شما همین هست؟

article
شنبه 01 خرداد 1389, 18:25 عصر
منظور من کد باز کردن عکس بود.
من خودم این را نوشتم و امتحان کردم:

private void buttonImport_Click(object sender, EventArgs e)
{
System.Windows.Forms.OpenFileDialog openFileDialog1 = new OpenFileDialog();
openFileDialog1.Filter = "JPEG File (*.jpg)|*.jpg|Bitmap File (*.bmp)|*.bmp|PNG File(*.png)|*.png";
if (openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
pictureBox1.Image = Image.FromFile(openFileDialog1.FileName);
}

private void buttonExport_Click(object sender, EventArgs e)
{
System.Windows.Forms.SaveFileDialog saveFileDialog1 = new System.Windows.Forms.SaveFileDialog();
saveFileDialog1.Filter = "JPEG File (*.jpg)|*.jpg|Bitmap File (*.bmp)|*.bmp|PNG File(*.png)|*.png";
if (saveFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
pictureBox1.Image.Save(saveFileDialog1.FileName, System.Drawing.Imaging.ImageFormat.Bmp);
}

private void buttonStretch_Click(object sender, EventArgs e)
{
pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
}کاملا درست کار می کرد. فقط عکس کشیده شده را به صورت نرمال خودش (و نه کشیده) ذخیره می کنه. که این هم کاری درست هست. چون PictureBox خودش اون را کشیده نمایش میده و گر نه به خود Image شما دست نمی زنه.
منظور شما همین هست؟
عکس معمولی را ذخیره میکن اما زمانی که بر روی picturebox خط و چیز های دیگه رسم میکنم خط ها راذخیره نمیکن

article
یک شنبه 02 خرداد 1389, 09:36 صبح
دوست عزیز پس چی شد؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
:قلب::قلب::قلب::قلب:

L u k e
یک شنبه 02 خرداد 1389, 10:09 صبح
مگه از کلاس Graphic استفاده نمی کنی ؟
اون خودش یه متد Save داره از اون باید استفاده کنی

ASKaffash
یک شنبه 02 خرداد 1389, 10:44 صبح
سلام
متد Save اینکارو نمی کنه من هم این فکرو می کردم

cardano7
یک شنبه 02 خرداد 1389, 17:47 عصر
عکس معمولی را ذخیره میکن اما زمانی که بر روی picturebox خط و چیز های دیگه رسم میکنم خط ها راذخیره نمیکن

دوست عزیز پس چی شد؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

ولی من که تونستم در مد Stretch یک عکس را دستکاری کنم و حاصل اون را در یک فایل دیگه ذخیره کنم.

عکس و خود کد ها رو آپلود می کنم.
البته حجم عکس را کم کردم تا بشه آپلودش کرد.

L u k e
یک شنبه 02 خرداد 1389, 18:22 عصر
ببین اول یه Bitmap تعریف کن




Bitamp Img = new Bitmap(500,500);

بعد اینجوری گرافیک رو پر کن




graphics g = Graphics.FromImage(Img);





خوب حالا هر کاری با گرافیک ت بکنی توی Bitmap دخیره می شه واسه اینکه تغییرات رو PictureBox ت ببینی توی هر تغییر Bitmap ه تو بریز توی Image ه PictureBox ت


Pic.Image=Imgبعد واسه Save کردن هم


Img.Save("D:\\Pic.bmp");

article
دوشنبه 03 خرداد 1389, 10:42 صبح
ولی من که تونستم در مد Stretch یک عکس را دستکاری کنم و حاصل اون را در یک فایل دیگه ذخیره کنم.

عکس و خود کد ها رو آپلود می کنم.
البته حجم عکس را کم کردم تا بشه آپلودش کرد.
سلام ممنون از زحمتی که کشیدید اینکار را انجام دادم اما زمانی که ذخیره میکن زمینه را به رنگ مشکی ذخیره میکن به جای اینکه سفید ذخیره کن مشکل از چی می تون باش

cardano7
دوشنبه 03 خرداد 1389, 12:50 عصر
سلام ممنون از زحمتی که کشیدید اینکار را انجام دادم اما زمانی که ذخیره میکن زمینه را به رنگ مشکی ذخیره میکن به جای اینکه سفید ذخیره کن مشکل از چی می تون باش

زمینه؟
آیا شما دارید از Alpha Channel هم استفاده می کنید؟
jpg کانال آلفا رو پشتیبانی نمی کنه.

article
سه شنبه 04 خرداد 1389, 07:44 صبح
زمینه؟
آیا شما دارید از Alpha Channel هم استفاده می کنید؟
jpg کانال آلفا رو پشتیبانی نمی کنه.
نه من از الفا چنل استفاده نمیکنم اصلا چی هشت کد هام بالا نوشتم

cardano7
سه شنبه 04 خرداد 1389, 09:33 صبح
نه من از الفا چنل استفاده نمیکنم اصلا چی هشت کد هام بالا نوشتم

خوب اگه alpha channel استفاده نمی کنید پس چطوری Back Ground دارید؟
میشه تصویر را قبل و بعد از تغییر upload کنید؟

article
چهارشنبه 12 خرداد 1389, 14:33 عصر
خوب اگه alpha channel استفاده نمی کنید پس چطوری Back Ground دارید؟
میشه تصویر را قبل و بعد از تغییر upload کنید؟
سلام دوست عزیز
من از picture box تو برنامه استفاده میکنم