Fix blurry pdf player rendering for all viewport sizes (#6182)

This commit is contained in:
Martin 2024-10-13 10:24:08 +02:00 committed by GitHub
parent a0b944b299
commit 7e4921f1dc
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -290,22 +290,16 @@ export class PdfPlayer {
}
renderPage(canvas, number) {
const devicePixelRatio = window.devicePixelRatio || 1;
this.book.getPage(number).then(page => {
const width = dom.getWindowSize().innerWidth;
const height = dom.getWindowSize().innerHeight;
const scale = Math.ceil(window.devicePixelRatio || 1);
const original = page.getViewport({ scale: 1 });
const scale = Math.max((window.screen.height / original.height), (window.screen.width / original.width)) * devicePixelRatio;
const viewport = page.getViewport({ scale });
const context = canvas.getContext('2d');
canvas.width = viewport.width;
canvas.height = viewport.height;
if (width < height) {
canvas.style.width = '100%';
canvas.style.height = 'auto';
} else {
canvas.style.height = '100%';
canvas.style.width = 'auto';
}
const context = canvas.getContext('2d');
const renderContext = {
canvasContext: context,