cuốn sách gpt4 ai đã làm

c# - Tạo và xóa ảnh/ảnh chụp màn hình

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-03 10:36:27 27 4
mua khóa gpt4 Nike

Thật tình cờ là tôi đang viết chương trình để chụp một số ảnh chụp màn hình và tôi gặp một số khó khăn với một tệp đã được một quy trình khác sử dụng, hy vọng ai đó có thể giúp tôi tìm cách "đóng" quy trình này hoặc làm sáng tỏ tôi Làm thế nào để tiến hành.

//Tạo một bitmap mới.
var bmpScreenshot = new Bitmap(Screen.PrimaryScreen.Bounds.Width,
Screen.PrimaryScreen.Bounds.Height,
PixelFormat.Format32bppArgb);

// Tạo một đối tượng đồ họa từ bitmap.
var gfxScreenshot = Graphics.FromImage(bmpScreenshot);

// Chụp ảnh màn hình từ góc trên bên trái đến góc dưới bên phải.
gfxScreenshot.CopyFromScreen(Screen.PrimaryScreen.Bounds.X,
Screen.PrimaryScreen.Bounds.Y,
0,
0,
Screen.PrimaryScreen.Bounds.Size,
CopyPixelOperation.SourceCopy);

// Lưu ảnh chụp màn hình vào đường dẫn cụ thể mà người dùng đã chọn.
//bmpScreenshot.Save(nomeScreen + ".jpeg", ImageFormat.Jpeg);
bmpScreenshot.Save(@"c:\temp\"+nomeScreen+".jpeg", ImageFormat.Jpeg);
count++;
nomeScreen = "S"+Convert.ToString(count);

Đây là thứ tôi có (tôi biết, kỹ năng lập trình kém) để chụp một vài ảnh chụp màn hình, nhưng sau đó tôi muốn xóa chúng khỏi nơi tôi đã lưu trữ chúng

http://gyazo.com/4b50945b0d157d082f7897e34a705560

Đây là ảnh chụp màn hình về những gì đang xảy ra. Làm cách nào để "tắt" bitmap? Cho đến nay, điều duy nhất chương trình làm là chụp ảnh màn hình và xóa nó.

chuỗi pathString = "C:\\temp";
DirectoryInfo d = new DirectoryInfo(pathString);
foreach (var k in d.GetFiles("*.jpeg"))
{
File.Delete(pathString+"\\" + k);
}

câu trả lời hay nhất

Tôi tin rằng bạn cần gọi bmpScreenshot.Close() sau bmpScreenshot.Save().

Xin lỗi, tôi đang nghe điện thoại và không thể kiểm tra xem nó có tắt không.

Hãy thử điều này:

//Tạo một bitmap mới.
sử dụng(var bmpScreenshot = new Bitmap(Screen.PrimaryScreen.Bounds.Width,
Screen.PrimaryScreen.Bounds.Height,
PixelFormat.Format32bppArgb))
{

// Tạo một đối tượng đồ họa từ bitmap.
var gfxScreenshot = Graphics.FromImage(bmpScreenshot);

// Chụp ảnh màn hình từ góc trên bên trái đến góc dưới bên phải.
gfxScreenshot.CopyFromScreen(Screen.PrimaryScreen.Bounds.X,
Screen.PrimaryScreen.Bounds.Y,
0,
0,
Screen.PrimaryScreen.Bounds.Size,
CopyPixelOperation.SourceCopy);

// Lưu ảnh chụp màn hình vào đường dẫn cụ thể mà người dùng đã chọn.
//bmpScreenshot.Save(nomeScreen + ".jpeg", ImageFormat.Jpeg);
bmpScreenshot.Save(@"c:\temp\"+nomeScreen+".jpeg", ImageFormat.Jpeg);
}
count++;
nomeScreen = "S"+Convert.ToString(count);

Vì vậy, tôi đã kiểm tra mã và nhận được một số kết quả thú vị.

Tôi có cái này:

private void button1_Click(object sender, EventArgs e)
{
chuỗi nomeScreen = "ảnh chụp màn hình"+new Random().Next();
ảnh chụp màn hìnhPath = Application.StartupPath+"\\" + nomeScreen + ".jpeg";
//Tạo một bitmap mới.
/*sử dụng (*/
var bmpScreenshot = new Bitmap(Screen.PrimaryScreen.Bounds.Width,
Screen.PrimaryScreen.Bounds.Height,
PixelFormat.Format32bppArgb);//)
// {

// Tạo một đối tượng đồ họa từ bitmap.
/*sử dụng (*/
var gfxScreenshot = Graphics.FromImage(bmpScreenshot);//)
//{

// Chụp ảnh màn hình từ góc trên bên trái đến góc dưới bên phải.
gfxScreenshot.CopyFromScreen(Screen.PrimaryScreen.Bounds.X,
Screen.PrimaryScreen.Bounds.Y,
0,
0,
Screen.PrimaryScreen.Bounds.Size,
CopyPixelOperation.SourceCopy);

//}

// Lưu ảnh chụp màn hình vào đường dẫn cụ thể mà người dùng đã chọn.
//bmpScreenshot.Save(nomeScreen + ".jpeg", ImageFormat.Jpeg);
bmpScreenshot.Save(screenshotPath, ImageFormat.Jpeg);
// }
}

private void button2_Click(object sender, EventArgs e)
{
File.Delete(screenshotPath);
}

Nó hoạt động tốt mà không cần bất kỳ câu lệnh sử dụng nào, nhưng theo tôi sẽ tốt hơn nếu loại bỏ cả hai câu lệnh đã nhận xét. Có thể vấn đề của bạn nằm ở chỗ khác. Bạn đã kiểm tra quyền của thư mục chưa. Có lẽ bạn có thể thử lưu vào đường dẫn exe của ứng dụng? Điều này có thể khắc phục nó. Nếu vậy, bạn cần kiểm tra quyền của thư mục trên thư mục "temp" hoặc bất cứ nơi nào bạn đang cố lưu.

Về C# - tạo và xóa hình ảnh/ảnh chụp màn hình, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/27561258/

27 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress