이 C# 코드를 사용하여 이미지 파일에 액세스하여 메타 데이터를 읽습니다. 프로그램이 끝날 때까지 .NET BitmapSource가 잠금 파일입니다.
BitmapSource img = BitmapFrame.Create(uri);
불행하게도
uri
에 의해 지정된 이미지 파일이 잠 깁니다. 이미지가 잠기지 않게하려면 어떻게합니까?
이 C# 코드를 사용하여 이미지 파일에 액세스하여 메타 데이터를 읽습니다. 프로그램이 끝날 때까지 .NET BitmapSource가 잠금 파일입니다.
BitmapSource img = BitmapFrame.Create(uri);
불행하게도
uri
에 의해 지정된 이미지 파일이 잠 깁니다. 이미지가 잠기지 않게하려면 어떻게합니까?
편집
BitmapSource img = BitmapFrame.Create(uri,BitmapCreateOptions.None,BitmapCacheOption.OnLoad);
BitmapCreateOptions.None = 기본 옵션
BitmapCacheOption.OnLoad =로드시 메모리에 전체 이미지를 캐시합니다. 이미지 데이터에 대한 모든 요청은 메모리 저장소에서 채워집니다. here
나중에 파일을 삭제하거나 변경할 수있게하려면 전체 파일을 메모리로 읽어 들인 다음 MemoryStream
을 대신 지정하십시오. 예 :
MemoryStream data = new MemoryStream(File.ReadAllBytes(file));
BitmapSource bitmap = BitmapFrame.Create(data);
또한 일반적인 스트림 사용할 수 있습니다에서
:
Stream stream = File.OpenRead(filename);
Bitmap template = new Bitmap(stream); // or (Bitmap) Bitmap.FromStream(stream)
stream.Close();
사용 (VAR 스트림 = File.OpenRead는()) 더 나은 방법입니다. 누가 새로운 Bitmap()이 예외를 던질 지 알고 있습니다. –