mirror of
https://github.com/openseadragon/openseadragon.git
synced 2024-11-22 13:16:10 +03:00
Replace viewport.getImageZoomRatio by conversion methods between viewport zoom and image zoom
This commit is contained in:
parent
4cd98a5da9
commit
54d02ada78
@ -918,17 +918,39 @@ $.Viewport.prototype = {
|
||||
},
|
||||
|
||||
/**
|
||||
* Get the zoom ratio of the image. 1 means original image size, 0.5 half size...
|
||||
* Convert a viewport zoom to an image zoom.
|
||||
* Image zoom: ratio of the original image size to displayed image size.
|
||||
* 1 means original image size, 0.5 half size...
|
||||
* Viewport zoom: ratio of the displayed image's width to viewport's width.
|
||||
* 1 means identical width, 2 means image's width is twice the viewport's width...
|
||||
* @function
|
||||
* @param {Boolean} current If true gives the current zoom otherwise gives the
|
||||
* @param {Number} viewportZoom The viewport zoom
|
||||
* target zoom.
|
||||
* @returns {Number}
|
||||
* @returns {Number} imageZoom The image zoom
|
||||
*/
|
||||
getImageZoomRatio: function( current ) {
|
||||
viewportToImageZoom: function( viewportZoom ) {
|
||||
var imageWidth = this.viewer.source.dimensions.x;
|
||||
var containerWidth = this.getContainerSize().x;
|
||||
var zoomToZoomLevelRatio = containerWidth / imageWidth;
|
||||
return this.getZoom( current ) * zoomToZoomLevelRatio;
|
||||
var viewportToImageZoomRatio = containerWidth / imageWidth;
|
||||
return viewportZoom * viewportToImageZoomRatio;
|
||||
},
|
||||
|
||||
/**
|
||||
* Convert an image zoom to a viewport zoom.
|
||||
* Image zoom: ratio of the original image size to displayed image size.
|
||||
* 1 means original image size, 0.5 half size...
|
||||
* Viewport zoom: ratio of the displayed image's width to viewport's width.
|
||||
* 1 means identical width, 2 means image's width is twice the viewport's width...
|
||||
* @function
|
||||
* @param {Number} imageZoom The image zoom
|
||||
* target zoom.
|
||||
* @returns {Number} viewportZoom The viewport zoom
|
||||
*/
|
||||
imageToViewportZoom: function( imageZoom ) {
|
||||
var imageWidth = this.viewer.source.dimensions.x;
|
||||
var containerWidth = this.getContainerSize().x;
|
||||
var viewportToImageZoomRatio = imageWidth / containerWidth;
|
||||
return imageZoom * viewportToImageZoomRatio;
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -91,9 +91,14 @@
|
||||
|
||||
function checkZoom() {
|
||||
var currentImageWidth = getCurrentImageWidth();
|
||||
var expected = currentImageWidth / imageWidth;
|
||||
var actual = viewport.getImageZoomRatio(true);
|
||||
equal(actual, expected);
|
||||
var expectedImageZoom = currentImageWidth / imageWidth;
|
||||
var expectedViewportZoom = viewport.getZoom(true);
|
||||
var actualImageZoom = viewport.viewportToImageZoom(
|
||||
expectedViewportZoom);
|
||||
equal(actualImageZoom, expectedImageZoom);
|
||||
|
||||
var actualViewportZoom = viewport.imageToViewportZoom(actualImageZoom);
|
||||
equal(actualViewportZoom, expectedViewportZoom);
|
||||
}
|
||||
|
||||
checkZoom();
|
||||
|
Loading…
Reference in New Issue
Block a user