본문 바로가기
프로그래밍

[C#] 이미지 저장

by StopWater 2023. 3. 15.
반응형

지금 작업하고 있는 프로젝트에서 이미지가 정상이 아닐 경우 촬영한 이미지를 저장 해달라는 요청이 들어왔다.

어려운 일이 아니기 때문에 바로 ㅇㅋ 하고 작업 했다.

using System.IO;
using Emgu.CV;

// 변수 선언
public Image<Gray, byte> SaveImage = null;
// bmMono에 저장된 이미지를 변수에 저장
SaveImage = bmMono;

// 다른 작업도 같이 병행 해야 하기 때문에 쓰레드로 돌릴 함수 생성
private void SaveNGImageThread()
    {
        DateTime dtNow = DateTime.Now;
        // 일별로 관리
        string savepath = string.Format("{0}\\{1:0000}\\{2:00}\\{3:00}\\",기본경로 , dtNow.Year, dtNow.Month, dtNow.Day);
        string filename = string.Format("{0:00}_{1:00}_{2}_{3}.bmp", dtNow.Hour, dtNow.Minute, ModelInfo.Name, lblTotalCnt.Text);
        
        DirectoryInfo di = new DirectoryInfo(savepath);

        // 디렉토리 존재하는지 확인하고 없다면 생성
        if (!di.Exists)
        {
            Directory.CreateDirectory(savepath);
        }
        // 저장
        SaveImage.Save(savepath + filename);
    }
private void 스레드돌아갈함수()
    {
    	if(파일저장여부체크확인)
        {
            Thread threadsave = new Thread(SaveNGImageThread);
            threadsave.Start();
        }
    }

기본 경로와 파일 저장 여부는 UI에 파라미터 접근 할수 있게 만들었다. 

 

소스는 참고용 입니다. 

 

반응형

댓글