Paper.js:画像を拡大縮小するとぼやけてしまうのはなぜですか?コード
paper.setup(canvasDOMElement);
var raster = new paper.Raster(image2);
// raster.size = new paper.Size(800, 600);
raster.scale(0.05, {x:110, y:110});
// raster.position = paper.view.center;
paper.view.draw();
画像は3000x2500ピクセルで、境界線と画像自体がぼやけています。スケールを使用しない場合、画像は鮮明です。
さて、私はこのようなアニメーションを作成しました:
onAppear = function(){
paper.setup(canvasDOMElement);
var raster = new paper.Raster(image2);
// raster.size = new paper.Size(800, 600);
// raster.scale(1, {x:110, y:110});
// raster.position = paper.view.center;
var scale = 1;
paper.view.onFrame = function(event) {
// On each frame, rotate the path by 3 degrees:
scale -= 0.0001;
raster.scale(scale, {x:110, y:110});
}
paper.view.draw();
}
スケールが上下に適用されるため、これはちょっと奇妙です。したがって、指数曲線がありますが、これは私が思っていたものではありません。したがって、より良い方法は次のとおりです。
onAppear = function(){
paper.setup(canvasDOMElement);
var raster = new paper.Raster(image2);
// raster.size = new paper.Size(800, 600);
// raster.scale(1, {x:110, y:110});
// raster.position = paper.view.center;
var scale = 1;
paper.view.onFrame = function(event) {
// On each frame, rotate the path by 3 degrees:
raster.scale(0.99, {x:110, y:110});
}
paper.view.draw();
}
このようにして、画像は各フレームで0.99に再スケーリングされます。それでも、200回の反復の後、画像は非常にぼやけてしまいます。