Tôi đang lưu bằng cách chụp ảnh màn hình qua mã đó.Gửi ảnh chụp màn hình qua C#
Graphics Grf;
Bitmap Ekran = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height, PixelFormat.Format32bppPArgb);
Grf = Graphics.FromImage(Ekran);
Grf.CopyFromScreen(Screen.PrimaryScreen.Bounds.X, Screen.PrimaryScreen.Bounds.Y, 0, 0, Screen.PrimaryScreen.Bounds.Size, CopyPixelOperation.SourceCopy);
Ekran.Save("screen.jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
Sau đó gửi ảnh chụp màn hình lưu này như e-mail:
SmtpClient client = new SmtpClient();
MailMessage msg = new MailMessage();
msg.To.Add(kime);
if (dosya != null)
{
Attachment eklenecekdosya = new Attachment(dosya);
msg.Attachments.Add(eklenecekdosya);
}
msg.From = new MailAddress("[email protected]", "Konu");
msg.Subject = konu;
msg.IsBodyHtml = true;
msg.Body = mesaj;
msg.BodyEncoding = System.Text.Encoding.GetEncoding(1254);
NetworkCredential guvenlikKarti = new NetworkCredential("[email protected]", "*****");
client.Credentials = guvenlikKarti;
client.Port = 587;
client.Host = "smtp.live.com";
client.EnableSsl = true;
client.Send(msg);
Tôi muốn làm điều này: Làm thế nào tôi có thể gửi ảnh chụp màn hình trực tiếp như e-mail thông qua giao thức smtp mà không lưu?
Hãy nhớ để bao quanh các cuộc gọi với một khối sử dụng để bạn không có rò rỉ bộ nhớ, hoặc gọi .Dispose() phương pháp để giải phóng ký ức. – Digicoder
Xin lỗi, tôi đã chỉnh sửa câu trả lời của tôi và khi tôi đăng cuối cùng, tôi thấy bạn cũng vậy. Bạn có thích tôi để xóa của tôi? :) Dù sao, +1 cho bạn – Marco
Có - Trình tăng tốc sẽ làm tăng điểm quan trọng. Mã ban đầu có thể được cải thiện bằng cách sử dụng "sử dụng" khối trên tất cả các đối tượng IDisposable. Tôi bỏ nó ra để đơn giản, và cũng bởi vì việc thiết lập đúng cách "sử dụng" khối sẽ yêu cầu sửa đổi tất cả các mã ban đầu. –