728x90
반응형
728x170
■ RichTextBox 클래스에서 이미지를 캡처하는 방법을 보여준다.
▶ MainForm.cs
using System;
using System.Drawing;
using System.Windows.Forms;
namespace TestProject
{
/// <summary>
/// 메인 폼
/// </summary>
public partial class MainForm : Form
{
//////////////////////////////////////////////////////////////////////////////////////////////////// Constructor
////////////////////////////////////////////////////////////////////////////////////////// Public
#region 생성자 - MainForm()
/// <summary>
/// 생성자
/// </summary>
public MainForm()
{
InitializeComponent();
Load += Form_Load;
this.captureButton.Click += captureButton_Click;
}
#endregion
//////////////////////////////////////////////////////////////////////////////////////////////////// Method
////////////////////////////////////////////////////////////////////////////////////////// Private
//////////////////////////////////////////////////////////////////////////////// Event
#region 폼 로드시 처리하기 - Form_Load(sender, e)
/// <summary>
/// 폼 로드시 처리하기
/// </summary>
/// <param name="sender">이벤트 발생자</param>
/// <param name="e">이벤트 인자</param>
private void Form_Load(object sender, EventArgs e)
{
this.richTextBox.Text = "Outside of a dog, a book is man's best friend. Inside of a dog it's too dark to read.";
this.richTextBox.Select(18, 27);
this.richTextBox.SelectionColor = Color.Blue;
this.richTextBox.Select(20, 4);
this.richTextBox.SelectionFont = new Font(richTextBox.Font, FontStyle.Italic);
this.richTextBox.Select(63, 21);
this.richTextBox.SelectionColor = Color.Red;
this.richTextBox.SelectionFont = new Font(richTextBox.Font, FontStyle.Bold);
this.richTextBox.Select(0, 0);
}
#endregion
#region Capture 버튼 클릭시 처리하기 - captureButton_Click(sender, e)
/// <summary>
/// Capture 버튼 클릭시 처리하기
/// </summary>
/// <param name="sender">이벤트 발생자</param>
/// <param name="e">이벤트 인자</param>
private void captureButton_Click(object sender, EventArgs e)
{
this.pictureBox.Image = GetBitmap(this.richTextBox);
}
#endregion
//////////////////////////////////////////////////////////////////////////////// Function
#region 비트맵 구하기 - GetBitmap(richTextBox)
/// <summary>
/// 비트맵 구하기
/// </summary>
/// <param name="richTextBox">리치 텍스트 박스</param>
/// <returns>비트맵</returns>
private Bitmap GetBitmap(RichTextBox richTextBox)
{
this.richTextBox.Update();
int width = this.richTextBox.ClientSize.Width;
int height = this.richTextBox.ClientSize.Height;
Bitmap bitmap = new Bitmap(width, height);
using(Graphics graphics = Graphics.FromImage(bitmap))
{
graphics.CopyFromScreen
(
this.richTextBox.PointToScreen(new Point(0, 0)),
new Point(0, 0),
richTextBox.ClientSize
);
}
return bitmap;
}
#endregion
}
}
728x90
반응형
그리드형(광고전용)
'C# > WinForm' 카테고리의 다른 글
[C#/WINFORM] Bitmap 클래스 : 비트맵 픽셀 밝게하기 (0) | 2020.12.26 |
---|---|
[C#/WINFORM] 레이더 차트 그리기 (0) | 2020.12.26 |
[C#/WINFORM] Graphics 클래스 : DrawString 메소드를 사용해 회전 텍스트 그리기 (0) | 2020.12.26 |
[C#/WINFORM] PointF 구조체 : 포인트 밀접 여부 구하기 (0) | 2020.12.26 |
[C#/WINFORM] RichTextBox 클래스 : 테이블 추가하기 (0) | 2020.12.26 |
[C#/WINFORM] Bitmap 클래스 : 합성 이미지 만들기 (0) | 2020.12.25 |
[C#/WINFORM] 화면 보호기/절전 모드 방지하기/허용하기 (0) | 2020.12.21 |
[C#/WINFORM] Form 클래스 : CreateParams 속성을 사용해 작업 전환기(Tab Switcher)에서 애플리케이션 숨기기 (0) | 2020.12.19 |
[C#/WINFORM] SVG 이미지 사용하기 (0) | 2020.12.19 |
[C#/WINFORM] 관리자 권한으로 실행하기 (0) | 2020.12.18 |
댓글을 달아 주세요