[C#, .Net, Spread] 스크린샷 후 파일 저장 팝업 호출 참고 코드 ( .net screenshot
-
반응형
버튼 클릭 시
> 현재 화면 스크린샷을 찍은 후에
> 파일 저장할 수 있는 팝업 호출하는 참고 코드
private void btnScreenShot_Click(object sender, EventArgs e)
{
ScreenCapture(this.ClientSize.Width, this.ClientSize.Height+70, this.Location);
}
//캡쳐 함수
private void ScreenCapture(int intBitmapWidth, int intBitmapHeight, Point ptSource)
{
Bitmap bitmap = new Bitmap(intBitmapWidth, intBitmapHeight);
Graphics g = Graphics.FromImage(bitmap);
// 화면 캡쳐
g.CopyFromScreen(ptSource, new Point(0, 0), new Size(intBitmapWidth, intBitmapHeight));
// 파일 대화 상자 열기
SaveFileDialog saveFileDialog = new SaveFileDialog();
saveFileDialog.Filter = "PNG 파일 (*.png)|*.png|모든 파일 (*.*)|*.*";
saveFileDialog.Title = "이미지 저장";
saveFileDialog.DefaultExt = "png";
saveFileDialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
if (saveFileDialog.ShowDialog() == DialogResult.OK)
{
// 사용자가 선택한 경로로 이미지 저장
string imagePath = saveFileDialog.FileName;
bitmap.Save(imagePath, ImageFormat.Png);
MessageBox.Show("화면(스크린샷)이 저장되었습니다.", "확인");
}
}
private void btnScreenShot_Click(object sender, EventArgs e)
{
ScreenCapture(this.ClientSize.Width, this.ClientSize.Height+80, this.Location);
}
//캡쳐 함수
private void ScreenCapture(int intBitmapWidth, int intBitmapHeight, Point ptSource)
{
Bitmap bitmap = new Bitmap(intBitmapWidth, intBitmapHeight);
Graphics g = Graphics.FromImage(bitmap);
// 화면 캡쳐
g.CopyFromScreen(ptSource, new Point(0, 0), new Size(intBitmapWidth, intBitmapHeight));
// 파일 대화 상자 열기
SaveFileDialog saveFileDialog = new SaveFileDialog();
saveFileDialog.Filter = "PNG 파일 (*.png)|*.png|모든 파일 (*.*)|*.*";
saveFileDialog.Title = "이미지 저장";
saveFileDialog.DefaultExt = "png";
saveFileDialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
if (saveFileDialog.ShowDialog() == DialogResult.OK)
{
// 사용자가 선택한 경로로 이미지 저장
string imagePath = saveFileDialog.FileName;
bitmap.Save(imagePath, ImageFormat.Png);
}
// 폼 픽쳐박스에 캡쳐 이미지 표시
pictureBox1.Image = bitmap;
pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
}