PDA

View Full Version : سوال: خطا در ذخیره عکس



h.rezaee
پنج شنبه 05 مرداد 1391, 20:48 عصر
سلام بر دوستان و اساتید محترم. امیدوارم نماز و روزه های همه دوستان و اساتید مورد قبول درگاه حق قرار گرفته باشه. دوستان بنده یک پروژه نوشتم که یک دکمه واسه عکس گرفتن از صفحه و یک پیکچر باکس که اون عکس رو نشون بده و یک دکمه واسه پرینت گرفتن همون عکس. منتها الان یک مشکلی هست اونم اینه که اولین عکس رو میندازه تو پیکچر باکس هم نشون میده منتها واسه عکس بعدی نمی دونم چرا دیگه عمل نمی کنه و پیغام کش رو نشون میده باید یه بار صفحه بسته بشه دوباره باز بشه تا دوباره عکس بگیریم. اینم کدهاش منون میشم اگه راهنمایی کنید.

این واسه گرفتن عکسه:

private static Bitmap bmp;
private static Size s;
public static string filename;
public string j = "image " + System.DateTime.UtcNow.ToFileTime() + ".jpg";




private void btnsnapshot_Click(object sender, EventArgs e)
{

try
{
s = Screen.PrimaryScreen.Bounds.Size;
bmp = new Bitmap(550, 320);
Graphics g = Graphics.FromImage(bmp);
g.CopyFromScreen(0, 0, 0, 0, s);
bmp.Save(j);
pictureBox1.Image = System.Drawing.Image.FromFile(j);


}
catch (Exception)
{
MessageBox.Show("عدم توانایی در گرفتن عکس");
}

}


این هم واسه پرینت گرفتن:

private void PrintPage(object o, PrintPageEventArgs e)
{
System.Drawing.Image img = System.Drawing.Image.FromFile(j);
Point loc = new Point(100, 100);
e.Graphics.DrawImage(img, loc);
}
private void button4_Click(object sender, EventArgs e)
{
PrintDocument pd = new PrintDocument();
pd.PrintPage += PrintPage;
pd.Print();
}

Farshid007
پنج شنبه 05 مرداد 1391, 21:09 عصر
بیا :
try
{
Bitmap bmp;
Size s;
s = Screen.PrimaryScreen.Bounds.Size;
bmp = new Bitmap(550, 320);
Graphics g = Graphics.FromImage(bmp);
g.CopyFromScreen(0, 0, 0, 0, s);
SaveFileDialog S = new SaveFileDialog();
S.Filter = "Jpeg File(*.jpg)|*.jpg";
S.FileName = "Screenshot";
S.AddExtension = true;
S.DefaultExt = "jpg";
S.Title = "Saveing...";
if (S.ShowDialog() == DialogResult.OK)
{
bmp.Save(S.FileName);
pictureBox1.ImageLocation = S.FileName;
}
g.Dispose(); bmp.Dispose();

}
catch (Exception ex)
{
MessageBox.Show("خطا:\n"+ex.Message,"Error",MessageBoxButtons.OK,MessageBoxIcon.Warning);
}

مشکل سیو دیالوگش هم حل کردم

h.rezaee
پنج شنبه 05 مرداد 1391, 21:27 عصر
بیا :
try
{
Bitmap bmp;
Size s;
s = Screen.PrimaryScreen.Bounds.Size;
bmp = new Bitmap(550, 320);
Graphics g = Graphics.FromImage(bmp);
g.CopyFromScreen(0, 0, 0, 0, s);
SaveFileDialog S = new SaveFileDialog();
S.Filter = "Jpeg File(*.jpg)|*.jpg";
S.FileName = "Screenshot";
S.AddExtension = true;
S.DefaultExt = "jpg";
S.Title = "Saveing...";
if (S.ShowDialog() == DialogResult.OK)
{
bmp.Save(S.FileName);
pictureBox1.ImageLocation = S.FileName;
}
g.Dispose(); bmp.Dispose();

}
catch (Exception ex)
{
MessageBox.Show("خطا:\n"+ex.Message,"Error",MessageBoxButtons.OK,MessageBoxIcon.Warning);
}

مشکل سیو دیالوگش هم حل کردم

دوست عزیز ممنون. فقط الان چه جوری اون عکس رو پرینت کنم.