Плиточный подход действительно является правильным способом сделать это.
Ваши пользователи не хотят загружать файл размером 50 МБ, прежде чем они смогут начать просмотр изображения. Вы не хотите тратить пропускную способность, чтобы обслуживать 50 мегабайт каждому пользователю, который может просматривать только часть вашего изображения.
Если вы обработаете весь файл, пользователи в конечном итоге смогут загрузить и просмотреть его, но для большинства из них он не будет работать гладко.
Нет простого простого способа обслуживания только части изображения, если только вы не хотите использовать библиотеку на стороне сервера, такую как imagemagik или PIL, для извлечения определенной части изображения для каждого пользователя. Вы, вероятно, не хотите этого делать, потому что это создаст значительную нагрузку на ваш сервер.
В качестве альтернативы, вы можете использовать что-то вроде инструмента карты Google, чтобы обеспечить масштабирование и масштабирование. Некоторые комментарии по этому поводу доступны здесь:
http://webtide.wordpress.com/2008/08/27/custom-google-maps/