본문 바로가기
다물칸 주소복사
조회 수 55 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
Extra Form
구분 팁&트릭
출처 내가작성

이미지를 불러올 때 통상 Image.FromFile(파일경로) 이 명령어로 가져온다.

그런데 저것을 반환한 Image객체가 Dispose 될 때까지 파일을 계속 잡고 있는 문제가 발생한다.  

잡고 있는 동안 삭제든 이동이든 안되는데 이를 위해서라면 기본 명령어를 사용해도 되지만 그렇지 않은 경우 다음 function을 사용하자. 


Static 또는 클래스에 적당히 추가한 후, 사용하자. 


        public static Image ProcGetImageFromFile(string Imagefile)
        {
            FileStream fsIn = new FileStream(Imagefile, FileMode.Open, FileAccess.Read, FileShare.Read);

            Image source = Image.FromStream(fsIn);

            fsIn.Close();

            return source;
        }

이 경우 FileStream에 파일을 가져와서 Image에 넣은다음(메모리에) 객체를 닫아버리면 이미지자체는 메모리에 올라가고 파일을 닫아지기 때문에

이후 파일을 삭제하던 옮기던 해도 문제가 발생하지 않는다.