728x90
반응형

picturebox 6

[C#] Color Picker 만들기. 이미지 해당 픽셀의 컬러 값 가져오기.

pictureBox1에 로드한 이미지에서 마우스 클릭 시 해당 포인트의 컬러를 lblColor의 배경색으로 변경해 주고, RGB 값과 HEX 값을 텍스트박스에 각각 입력해 주는 코드입니다. bmp.GetPixel(x, y) 해당 Bitmap의 지정된 픽셀의 색을 가져옴 pointColor.R pointColor.G pointColor.B 컬러의 R, G, B 값을 가져옴 pointColor.Name 컬러의 HEX 값을 가져옴 (ex) ff4a4c4f C# Color 구조체는 ARGB로 구성이 되어있기 때문에 Hex 값이 8자리입니다. A(Alpha) 값은 투명도를 나타내는데, 투명도를 제외한 RGB Hex 값만 뿌려주도록 아래와 같이 앞의 두 자리를 제외하고 영문자는 대문자로 나타내도록 했습니다. poi..

IT/C# 2024.02.16

[C#] 윈도우 그림판 만들기 3탄(?) 테이블 그리기 (PictureBox Draw Table with Col, Row)

2020.10.16 - [IT/C#] - [C#] 윈도우 그림판 기능 구현해보기 (PictureBox 그리기 기능, Undo/Redo 기능, 단축키 사용 방법) [C#] 윈도우 그림판 기능 구현해보기 (PictureBox 그리기 기능, Undo/Redo 기능, 단축키 사용 방법) 그림판에 여러 기능들 중에서 크게 두 가지 기능을 구현해보겠습니다. 1. 도형(사각형, 원형, 선형직선) 그리기 기능과 2. 실행 취소(Undo)/다시 실행(Redo) 기능 두 가지 입니다. 그리고 흔히들 사용 ella-devblog.tistory.com 그림판 포스팅을 쓴지 새삼 오래됐네요. 전에 작성했던 포스팅에 이어서 표 그리기 기능을 추가로 만들어봤습니다. 위 링크의 코드 설명이랑 같이 보시면 됩니다. 표 그리기는 아주아..

IT/C# 2023.04.07

[C#] 윈도우 그림판 기능 구현해보기 (PictureBox 그리기 기능, Undo/Redo 기능, 단축키 사용 방법)

그림판에 여러 기능들 중에서 크게 두 가지 기능을 구현해보겠습니다. 1. 도형(사각형, 원형, 선형직선) 그리기 기능과 2. 실행 취소(Undo)/다시 실행(Redo) 기능 두 가지 입니다. 그리고 흔히들 사용하는 Ctrl + Z / Ctrl + Shift + Z 단축키 기능도 추가해보겠습니다. 1. 메인화면 구성 먼저, 메인화면 구성입니다. Winform 기본 도구상자에서 PictureBox, MenuStirp을 가져와서 다음과 같이 만듭니다. 각각의 이름은 menuStrip에서 입력한 메뉴 이름이 앞에 자동으로 붙게 되므로 변경하지 않으셔도 됩니다. menu 구성은 아래 사진과 같이 적용해주면 됩니다. UI는 간단하게 위와 같이 만들고, 코드 작성으로 넘어가보겠습니다. 2. 코드 작성 - 전역 변수 ..

IT/C# 2020.10.16

[C#] Mouse Event를 통해서 Picturebox 포인트 사이 거리 구하기

PictureBox Mouse Drag로 사각형 그리기 PictureBox 클릭 시 마우스 포지션 가져오기 두 포인트 사이에 거리 계산하기 MouseDown, MouseMove, MouseUp Event 마우스 다운 이벤트(picturebox1_MouseDown)에서의 시작 포인트( X1, Y1 ) 값과 마우스 업 이벤트(picturebox1_MouseUp)에서의 마지막 포인트( X2, Y2 ) 값을 통해 각 포인트 사이의 거리, 즉, 표시된 사각형의 대각선 길이를 구하는 코드이다. 두 포인트 사이의 거리는 우리가 잘 알고 있는 수학공식을 이용하여 계산하였다. 이를 코드로 나타내면 아래와 같다. double distance = Math.Sqrt(Math.Pow((e.X - clickPoint.X), 2)..

IT/C# 2019.05.31

[C#] Picturebox 위에 Grid 격자 모눈종이 그리기

간단한 방식으로 Picturebox 위에 Grid 격자 모눈종이 무늬 그리기 picturebox 속성에서 Paint Event를 생성해주고 아래와 같이 코딩한다. Pen pn을 선언하고 격자 간격을 증감자에서 정해준다. 간격만큼 증가시켜서 그려주면 된다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 private void pbZoom_Paint(object sender, PaintEventArgs e) { int Xn = pbZoom.Width; int Yn = pbZoom.Height; Pen pn = new Pen(Color.FromArgb(150, 255, 255, 255)); for (int y = -3; y

IT/C# 2019.05.29

[C#] PictureBox 이미지 자르고 적용하기

이미지의 특정 부분만 잘라서 사용하도록 만들어보자. 먼저 pictureBox1과 pictureBox2를 만들어주고 이미지 resize를 위해 button1 하나를 생성해 주었다. pictureBox1에는 Size = (450, 450) 의 이미지를 넣고 실행했다. 이미지의 위, 아래로 100씩 잘라내고 Size = (450, 250) 의 이미지로 만들고 싶기 때문에 RESIZE 버튼을 눌러주었을 때의 button1_Click 이벤트 및 resizeImage() 함수를 삽입해 준다. 아래의 코드와 같이 작성해 주었다. 1234567891011121314151617181920private void button1_Click(object sender, System.EventArgs e){ pictureBox2...

IT/C# 2018.12.05
728x90
반응형