2011-10-31 1 views
1

웹캠에서 캡처 한 이미지를 다른 파일 이름으로 내 c:/ 드라이브에 저장하려면 어떻게해야합니까?C#에서 다른 파일 이름으로 웹캠에서 캡처 한 이미지를 저장하는 방법

이미지 웹캠을 캡쳐하여 내 c :/드라이브에 저장할 수 있지만 약간의 문제가 있습니다. 저장/

(예 : 이미지, pix4.jpg 다른 이름 pix1.jpg, pix2.jpg, pixs3.jpg와의 손길이 닿지 않은 왼쪽 이전의 것과 다른 것입니다 : 내가 이미지가 저장 될 때마다 원하는, 이미 내 C에 저장된 이전 캡처를 덮어 쓰지한다 기타).

string fileName; 
int n = 0; 

do { 
    fileName = "pix" + (++n).ToString() + ".jpg"; 
} while(System.IO.File.Exists(fileName)); 

다음 경로에 fileName를 추가하면됩니다 : 캡처하고 특정 파일 이름으로 저장하는 당신의 방법에서

+1

또한 이렇게하면, 당신이 때마다/파일 이름 검사를 반복하지 않도록 뭔가를 확인하려는 각 이미지 – xbonez

답변

2

을 사용합니다.

+0

에 대해 고유 한 GUID를 생성에 볼 수 있었다. 예 : 나는'n'을 저장하고 매번 다시 사용합니다. 아마 각 프로그램의 시작을 리셋 시키지만,이 메소드를 호출 할 때마다 리셋하지 마라. –

+0

' // 이미지를 jpeg로 저장하십시오. // image.Save ("c : \\ traffic_light \\ image.jpeg", System.Drawing.Imaging.ImageFormat.jpg); ' – DaveChika

+0

@DaveChika : 'fileName'을 경로 (파일 이름 빼기)와 연결하십시오. – Ryan

1

현재 번호 매기기 출력 사진을 추적 할 수없는 경우 현재 존재하는 파일을보고 최대 번호를 결정하고 다음 번호가있는 파일을 추가 할 수 있습니다.

int max = 0; 
var files = Directory.EnumerateFiles(@"C:\pictures", "pix*.jpg"); 
if(files.Any()) 
    max = files.Select(x => Convert.ToInt32(Path.GetFileNameWithoutExtension(x.Name) 
               .Substring("pix".Length))) 
      .Max(); 
string fileName = Path.Combine(@"C:\pictures", string.Format("pix{0}.jpg", max + 1)); 
+0

BROKENglass, 이것은 내 이미지를 저장하는 방법입니다, pls 내 method.pls에 UR 코드를 사용할 수있는 방법은 C# 초보자 오전 – DaveChika

+0

public static void SAVEimage (System.Drawing.Image image) { // 한 jpeg. 이미지.저장 ("c : \\ image1.gif", System.Drawing.Imaging.ImageFormat.Jpeg); } – DaveChika

4

개인적으로, 내가 대신 번호를 사용하는 파일 이름 정렬 형식으로 포맷 된 DateTime를 추가합니다.

string name = "pix"; 
string fileName = string.Format("{0}_{1}", name, DateTime.Now.ToString("u")); 

이 당신에게 등 pix_201110310834, pix_201110310835, pix_201110310836과 같이 파일 이름을 제공 할 것입니다.

이 방법을 사용하면 더 이상 올바른 색인을 사용하는 것에 대해 걱정할 필요가 없습니다. DateTime은 항상 계속 앞으로 나아갈 것입니다.

주 : 짧은 간격이 필요한 경우 (밀리 초, 아마), 당신은 언제나 대신 DateTime.Now.Ticks을 추가 할 수

  • .
  • 시간대를 이동하거나 DST로 전환하는 것이 염려되는 경우 중성 시간대를 사용하십시오. (DateTime.UtcNow 당신의 친구입니다)
관련 문제