Skip to content

Commit d318cfc

Browse files
authored
Fix: PDF zoom not working with decimal device pixel ratio (1.5, 2.5, etc)
1 parent a56fe65 commit d318cfc

File tree

2 files changed

+7
-2
lines changed

2 files changed

+7
-2
lines changed

scripts/reading.js

+4-2
Original file line numberDiff line numberDiff line change
@@ -2256,7 +2256,9 @@ function fixBlurOnZoom(scale = 1, index = false)
22562256
img.style.height = (_height / window.devicePixelRatio)+'px';
22572257
}
22582258

2259-
if(img.classList.contains('blobRender') || img.classList.contains('zoomOriginalSize') || img.classList.contains('originalSize'))
2259+
if(img.tagName == 'CANVAS')
2260+
img.style.transform = 'scale('+(_scale / window.devicePixelRatio)+') '+rotateImage(image?.rotated, 0.001, 0.001);
2261+
else if(img.classList.contains('blobRender') || img.classList.contains('zoomOriginalSize') || img.classList.contains('originalSize'))
22602262
img.style.transform = 'scale('+_scale+') '+rotateImage(image?.rotated, 0.001, 0.001);
22612263
else
22622264
img.style.transform = 'scale('+_scale+') '+rotateImage(image?.rotated);
@@ -2274,7 +2276,7 @@ function fixBlurOnZoom(scale = 1, index = false)
22742276
let img = images[i];
22752277
let image = imagesData[+img.dataset.index] || [];
22762278

2277-
if(!img.classList.contains('blobRender') && !img.classList.contains('zoomOriginalSize') && !img.classList.contains('originalSize'))
2279+
if(img.tagName != 'CANVAS' && !img.classList.contains('blobRender') && !img.classList.contains('zoomOriginalSize') && !img.classList.contains('originalSize'))
22782280
{
22792281
let rect = img.getBoundingClientRect();
22802282

scripts/reading/render.js

+3
Original file line numberDiff line numberDiff line change
@@ -322,6 +322,9 @@ async function render(index, _scale = false, magnifyingGlass = false)
322322
canvas.style.width = Math.round(isRendered.width)+'px';
323323
canvas.style.height = Math.round(isRendered.height)+'px';
324324

325+
canvas.dataset.width = Math.round(isRendered.width);
326+
canvas.dataset.height = Math.round(isRendered.height);
327+
325328
ocImg.replaceChildren(canvas);
326329
}
327330
}

0 commit comments

Comments
 (0)