2008-10-11 5 views

답변

2

확대 할 때 이동할, 게으른 다른 수준으로 확대하는 영리한 뭔가를 찾고 있었다 나는 단지 등의 크기를 조정할 수 있습니다 알고 있지만. 자세한 확대/축소 레벨과 적절한 보간을 사용하여 hireality hireality 이미지가 필요한 경우 이미지의 확대 된 부분에 서비스를 제공하는 백엔드 서비스를 작성해야합니다. 품질이나 속도에 아무런 영향이 없다면 전체 이미지를 다운로드하여 줌 레벨로 결정된대로 볼 수 있고 크기를 정하기 위해 절대적으로 배치 된 div 내에 표시되도록 이미지를 맞출 수 있습니다.

아마도 첫 번째 옵션을 따른 것 같습니다. 몇 가지 도구가 이미 for this 만든, 내가 persoanlly 도구를 사용 havnt; 나는 othes가 너가 시도 할 수있는 다른 사람에 연결을 배치 할 것이라는 점을 확실하다; 나는 나의 자신의 서비스 및 클라이언트를 썼다. 나는 그 독점적 인 내용으로 정확한 세부 사항을 설명 할 수는 없지만, 내가하는 일에 대한 개요를 알려줄 수는 있습니다.

나는 asp.net 제네릭 처리기를 사용하여 줌인 할 이미지와 대상 이미지 크기를 나타내는 쿼리 문자열을 사용합니다. 나는 서비스가 이미지를로드하고 잘라내어 크기를 조정한다. (파일을 여러 번 겹쳐서 확대 할 때 파일을 처음 업로드 할 때 많은 최적화와 준비가 필요하기 때문에 더 복잡하다. 그러나 설명하는 것이 더 빠르다. 여기에 기본이 있습니다).

이 서비스는 단순히 image/jpeg 유형을 반환하고 이미지를 보냅니다.

클라이언트 측에서는 확대/축소하려는 이미지의 영역을 사용자가 선택 윤곽으로 지정할 수있는 선택 윤곽 컨트롤을 작성했습니다. 그들은 영역을 움직이며 확대/축소를 클릭합니다. 그런 다음 원본 이미지 크기와 볼 수있는 이미지 크기에 따라 선택한 좌표의 이미지로 오프셋을 계산합니다. 이전에 언급 한 핸들러에 hese coords를 보냅니다. 이미지 객체에 srvice의 쿼리 문자열로 url을로드하고 onload를 처리합니다. 모든 것이 잘 진행 되었다면 나는 그 이미지를 스와핑하여 이미지의 어느 부분을 확대했는지를 결정하기 위해 클라이언트 측 변수를 모두 업데이트 한 다음 다시 확대하거나 축소하거나 더 멀리 이동할 수 있습니다.

이제 게으른 요구 사항을 이해합니다. 그러나이 글을 쓰는 것이 실제로 기본 사항을 이해하기 쉽도록 만드는 것이라고 말할 필요가 있습니다. 가장 어려운 부분은 선택 상자입니다. 하지만 두 번의 클릭을 추적하는 것만 큼 간단 할 수도 있습니다. 줌 선택 marque와 오른쪽 하단의 왼쪽 상단. 또는 선택 상자가 전혀없고 미리 설정된 간격으로 만 확대/축소 할 수 있습니다. 저는 프로젝트에서 상당히 복잡한 이미지 분석 솔루션으로 줌 상자가 필요했습니다.

이 정보가 도움이되고 유용한 정보로 연결되기를 바랍니다.

+0

감사합니다. Mattlant.그것의 데모를 시도하고 고객을 설득 시스템을 구입 따라서 우리는 그것에 많은 시간을 보내고 싶지 않아요. 나는 이미 rgb와 대조를 변경하는 서비스를 가지고 있으므로 사용자가 지정한 줌을 추가 할 수 있습니다. – alexmac

관련 문제