Fixed file-input example

This commit is contained in:
Christoph Oberhofer
2017-04-06 13:52:51 +02:00
parent d279971c46
commit 255e5a6937
4 changed files with 47 additions and 35 deletions
+5 -1
View File
@@ -32,7 +32,11 @@ function adjustCanvasSize(input, canvas) {
function getOrCreateCanvas(source, target) {
const $viewport = getViewport(target);
let $canvas = $viewport.querySelector("canvas.imgBuffer");
let $canvas = null;
if ($viewport) {
$canvas = $viewport.querySelector("canvas.imgBuffer");
}
if (!$canvas) {
$canvas = document.createElement("canvas");
$canvas.className = "imgBuffer";
+7 -3
View File
@@ -47,16 +47,20 @@ function createScanner(pixelCapturer) {
const source = pixelCapturer ? pixelCapturer.getSource() : {};
function updateViewportStyle(target) {
const $video = source.getDrawable();
const $drawable = source.getDrawable();
const $viewport = getViewport(target);
if (!$viewport) {
return;
}
const {viewport} = source.getDimensions();
const zoom = Math.floor((((2 * viewport.x) + viewport.width) / viewport.width) * 100) / 100;
const videoWidth = zoom * viewport.width;
const translate = ((viewport.x / videoWidth) * (-100)).toFixed(5);
$video.style.width = `${zoom * 100}%`;
$video.style.transform = `translate(${translate}%, ${translate}%)`;
$drawable.style.width = `${zoom * 100}%`;
$drawable.style.transform = `translate(${translate}%, ${translate}%)`;
$viewport.style.paddingBottom = `${(viewport.height * 100 / viewport.width).toFixed(5)}%`;
$viewport.style.overflow = "hidden";
$viewport.style.height = 0;