문제

정사각형 측면과 2048 픽셀의 비트 맵이 있다고 가정하자.

Silverlight의 파일 세트를 만들기 위해 DeepZoomImageTileSource 이 비트 맵을 1024로 확장 한 다음 512로, 256 등으로 1 픽셀 이미지로 내려야합니다.

순진한 두 가지가 있습니다.

  1. 필요한 각 이미지에 대해 원래의 전체 크기 이미지를 필요한 크기로 늘립니다. 그러나 전체 이미지를 매우 작은 크기로 확장하는 것은 과도한 것 같습니다.
  2. 한 레벨에서 다음 레벨로 확장 된 원본 이미지를 버리고 각 성공적인 스케일 이미지를 다음 작은 이미지의 소스로 스케일링합니다. 그러나 이것이 옵션 1을 사용하는 것보다 충실도가 좋지 않은 256-64 범위에서 이미지를 생성 할 것이라고 생각합니다.

Deep Zoom Composer와 달리이 도구는 주문형 방식으로 작용할 것으로 예상되므로 합리적인 기간 (상단 30 초)으로 완료해야합니다. Pluse 측면에서 나는 Mutliple High-Res 이미지의 피라미드가 아닌 단일 멀티 스케일 이미지 만 생성합니다.

나는 여기 내 안락 지대 밖에있다. 그래픽 전문가가 조언을 받았습니까? 지점 2에 대해 내가 틀렸습니까? 포인트 1은 합리적으로 성능을 발휘하고 아무것도 걱정하지 않습니까? 옵션 3?

도움이 되었습니까?

해결책

약 1 : 이것은 가장 좋은 방법 인 것 같습니다. 그리고 매번 소스 이미지를 다시로드하지 않으면 그렇게 과도하지 않습니다.

약 2 : 예, 단계로 스케일링하여 품질을 느슨하게됩니다.

나는 30 초가 그림을 확장하기에 충분하다고 생각한다 (몇 번). 모든 최적화는 결과를 캐싱하는 영역에 있습니다.

다른 팁

당신이 본질적으로하려는 것은 mipmaps를 만드는 것입니다 ( http://en.wikipedia.org/wiki/mipmap). 2 제곱 이미지의 전원으로 시작하면 이미지를 절반으로 스케일링 한 다음 스케일 다운 이미지를 사용하여 크기를 다시 줄이면 원본 이미지를 가져 와서 스케일링하는 것과 동일한 결과를 제공해야합니다. 4의 요인.

반 크기의 이미지의 각 픽셀은 원본 이미지에서 평균 4 픽셀입니다. 쿼터 크기의 이미지의 각 픽셀은 평균 16 픽셀입니다. 평균 4 픽셀의 평균 16 픽셀 또는 평균 4 픽셀을 복용하는 것은 중요하지 않습니다.

그래서 옵션 2에서 언급했듯이 이미지를 연속적으로 스케일링하는 것이 좋을 것이라고 말하고 싶습니다. 확실히 원한다면 두 가지 방법을 모두 시도하고 이미지를 비교하십시오.

나는이 질문이 오래되었고 아마도 당신이 이것을하지 않은 이유가 있을지 모르지만, Microsoft의 무료 딥 줌 작곡가를 얻는다면 "deepzoomtools.dll"인 깊은 줌을 만들기위한 DLL이 제공됩니다. 단일 이미지의 깊은 줌 구성 또는 많은 이미지의 합성물을 생성합니다. (클래스 ImageCreator 크기 조정 이미지의 무거운 리프팅을 수행합니다).

상용 응용 프로그램을 개발하는 경우 라이센스 영향을 조사해야하지만 재사용 코드는 항상 직접 작성하는 것보다 낫습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top