iPhone 5에 KineticJS 5.1.0 무대가 있습니다. iPhone의 화면 크기로 인해 무대는 320px x 320px로 제한됩니다. 캡처 한 이미지는 1280x1280 픽셀입니다. 축소로 인해 품질을 잃지 않고 무대에서이 이미지를 처리 할 수 있기를 원합니다. 여기 KineticJS : 화질 저하없이 화면/스테이지 크기보다 훨씬 큰 이미지를 편집하려면 어떻게합니까?
원본 이미지를입니다 (큰 버전 : https://dl.dropboxusercontent.com/u/47067729/originalImage2.jpg) :이미지 : 여기
내가 무대에 이미지를로드 할 때 발생하는 것입니다 아주 이상하게 보입니다. 이미지에서 볼 수있는 것처럼 많은 스트립이 있습니다.
필터를 적용하면 이미지가 다음과 같이 보입니다. 그것이 어떻게 보일지하지
.
나는 어떻게 품질을 잃어버린없이 내 화면/스테이지 크기보다 훨씬 더 큰 이미지를 편집 할 수 있습니다이 문제console.clear();
var imageObj = new Image();
var img = null;
var saveBtn = document.getElementById("save");
var resultImage = document.getElementById("resultImage");
var original = document.getElementById("original");
var downloadLink = document.getElementById("DownloadLink");
Kinetic.pixelRatio = 4;
stage = new Kinetic.Stage({
container: 'container',
width: 320,
height: 320
});
layer = new Kinetic.Layer();
img = new Kinetic.Image({
x: 0,
y: 0,
image: new Image()
});
layer.add(img);
stage.add(layer);
imageObj.onload = function() {
var tmpWidth = Math.floor(imageObj.width /2);
var w = Math.min(tmpWidth, 320);
var h = imageObj.height * w/imageObj.width;
img.setImage(this);
img.setWidth(w);
img.setHeight(h);
img.cache(); // 5.1.0
// img.setFilter(Kinetic.Filters.Shinny); // 4.5.2.
img.filters([Kinetic.Filters.Shinny]); // 5.1.0
layer.draw();
};
imageObj.crossOrigin = "anonymous";
var imageUrl = "https://dl.dropboxusercontent.com/u/47067729/originalImage2.jpg";
imageObj.src = imageUrl;
original.src = imageUrl;
saveBtn.onclick = function(evt) {
console.log("save");
var canvas = $(stage.getContent()).find('canvas').get(0);
console.log("canvas: "+canvas);
var dataURL = canvas.toDataURL('image/jpeg', 1.0);
resultImage.src = dataURL;
downloadLink.href = dataURL;
};
에게 보여주는 JsFiddle (http://jsfiddle.net/confile/qhm7dn09/)을 만들어?
편집 : 사용자에게 표시되는 스테이지/캔버스는 여전히 미리보기입니다. 원본 이미지를 축소해서는 안됩니다. 효과를 적용하고 스테이지를 내보내기 한 후에는 품질 저하없이 이미지를 원래 크기와 동일한 크기로 내보내고 싶습니다. 나는 320px x 320px 스테이지를 1280px x 1280px로 크기를 조정하여 휴 품질 손실을 일으키고 싶지 않습니다.
바이올린이 작동하지 않습니다. pixelRatio 설정을 줄이려고 했습니까? – K3N