2011-01-03 4 views
1

런타임에 영화에 대한 정보를 다운로드하고 동시에 표시 할 수있는 이미지를 다운로드하고 싶지만 클라이언트 컴퓨터에 많은 이미지 파일을 저장하고 싶지 않으므로 리소스로 저장하고 싶습니다. 가능하다면 큰 파일 하나?C# WPF에서 런타임에 이미지 리소스를 추가 할 수 있습니까?

+0

왜 많은 파일을 저장하지 않으시겠습니까?하지만 하나의 큰 파일에 동일한 디스크 공간을 사용 하시겠습니까? 이 응용 프로그램을 복잡하게 만들 이유가 있습니까? 아니면 이미지를 메모리에 보관하고 디스크에 쓰지 않으려 고합니다. –

+0

음, 1000 개의 이미지 파일이있는 폴더가 있다면 엉망으로 보이고 클라이언트는 이미지를 삭제/편집 할 수 있습니다. 그것은 바보 같은 생각입니까? – Mech0z

+1

하나의 폴더가 마음에 들지 않는다면 하위 폴더가있는 폴더를 선택하십시오. 그리고 사용자가 다른 파일 중 하나를 통해 하나의 파일 ("리소스"파일)을 삭제하지 못하게하는 요인은 무엇입니까? 그리고 왜 사용자가 이미지 중 하나를 편집 할 것인가? –

답변

3

파일을 저장하는 데 문제가 있습니까? 원하지 않으면 자신의 파일 형식을 만든 다음 파일을 해당 스트림에 저장해야합니다.

모든 이미지를 메모리에 유지할 수도 있지만 이미지를 많이 사용하거나 표시되지 않을 경우 앱의 메모리 사용량이 많이 증가합니다.

+0

지금은 파일을 사용하고 메모리를 채우지 않아도되지만 나중에 일부 컨테이너에 저장한다고 생각합니다. – Mech0z

+0

명명 규칙을 사용하여 사용자 지정 임시 폴더를 만드는 것이 가장 좋습니다. 이렇게하면 해당 컴퓨터에서 이미지를 다시 사용할 수 있습니다. 좋은 생각의 명명 규칙을 사용하면 임시 폴더는 컨테이너입니다 (원하는 경우 이미지를 숨길 수 있습니다). –

2

이론적으로는 무엇이든 사용할 수 있으며 런타임에 byte[]으로 변환 할 수 있습니다. 이미지가 포함되어 있습니다.

데이터는 클라이언트 로컬 디스크 또는 메모리에서 어딘가에 있어야합니다. 파일을 리소스로 저장 ... 즉 ... 기본적으로 DLL 내에 결합되어 디스크 공간을 차지하고 있습니다.

더 나은 방법은 단순히 이미지를 검색하여 런타임에 임시 디렉토리에 저장할 수 있습니다. 사용자가 필요에 따라이 디렉토리를 제거하거나 캐시를 사용하여 매번 이미지를 검색해야하는 필요성을 줄일 수있는 설정 영역을 제공 할 수 있습니다.

관련 문제