angular-pintura没有加载宽度和高度

时间:2016-05-19 05:24:25

标签: javascript angularjs html5 canvas konvajs

我在制作角度pintura工作时遇到了困难。加载了图像源,但画布的宽度,高度仍为0.我需要调整显示(旋转到纵向/横向,调整浏览器的宽度),以便加载图像的正确宽度和高度

Here 是angular-pintura的github源。

这是我的代码 -

AngularJs (传递源图像)

vm.modalInstance = $modal.open({
    templateUrl: '/app/directives/app-viewer/image-viewer/image-viewer.html',
    controller: 'ImageViewerController',
    controllerAs: 'vm',
    resolve: {
        params: function () {
            return {
                src: '/assets/img/bg-1.jpg'
            }
        }
    }
});

Controller ImageViewer

function imageViewerController($modalInstance, params, $scope) {
    var vm = this;

    vm.image = {
        src: params.src,
        position: {
            x: -137.5,
            y: -68
        },
        scaling: 2,
        maxScaling: 5,
        scaleStep: 0.11,
        mwScaleStep: 0.09,
        moveStep: 99,
        fitOnload: true,
        progress: 0
    }
}

HTML

<ng-pintura ngp-src="vm.image.src" ngp-scaling="vm.image.scaling" ngp-position="vm.image.position" 
    ngp-max-scaling="vm.image.maxScaling" ngp-scale-step="vm.image.scaleStep" ngp-move-step="vm.image.moveStep" ngp-mw-scale-step="vm.image.mwScaleStep" ngp-fit-onload="vm.image.fitOnload" ngp-progress="vm.image.progress">
    <div id="zoomslider">
        <input ng-model="slider.value" ng-change="sliderChange()" orient="vertical" type="range" min="0" max="100" step="1" ng-disabled="scalingDisabled">
    </div>
    <button id="zoomin" ng-click="zoomIn()" ng-disabled="scalingDisabled" class="btn btn-default hidden-xs"><span class="glyphicon glyphicon-plus"></span></button>
    <button id="zoomout" ng-click="zoomOut()" ng-disabled="scalingDisabled" class="btn btn-default hidden-xs"><span class="glyphicon glyphicon-minus"></span></button>
    <button id="moveup" ng-click="moveUp()" class="btn btn-default hidden-xs"><span class="glyphicon glyphicon-chevron-up"></span></button>
    <button id="movedown" ng-click="moveDown()" class="btn btn-default hidden-xs"><span class="glyphicon glyphicon-chevron-down"></span></button>
    <button id="moveleft" ng-click="moveLeft()" class="btn btn-default hidden-xs"><span class="glyphicon glyphicon-chevron-left"></span></button>
    <button id="moveright" ng-click="moveRight()" class="btn btn-default hidden-xs"><span class="glyphicon glyphicon-chevron-right"></span></button>
    <button id="movecenter" ng-click="fitInView()" class="btn btn-default"><span class="glyphicon glyphicon-screenshot"></span></button>
</ng-pintura>

1 个答案:

答案 0 :(得分:1)

在样式表中明确设置heightng-pintura { position: relative; display: block; width: 100%; height: 600px; background: black; } 是必须的。

{{1}}

我从angular-pinturas github页面获取了css代码。