0
그레이 스케일 이미지 http://www.html5canvastutorials.com/advanced/html5-canvas-grayscale-image-colors-tutorial/을로드하려면 다음 예제를 따르려고합니다.키네틱 JS - 로딩 GrayScale 이미지
var dImage1 = new Kinetic.Image({
drawFunc: function (canvas) {
var context2 = canvas.getContext();
var x = 0;
var y = 0;
context2.drawImage(imageObj, x, y);
var imageData = context2.getImageData(x, y, imageObj.width, imageObj.height);
var data = imageData.data;
for (var i = 0; i < data.length; i += 4) {
var brightness = 0.34 * data[i] + 0.5 * data[i + 1] + 0.16 * data[i + 2];
data[i] = brightness;
data[i + 1] = brightness;
data[i + 2] = brightness;
}
context2.putImageData(imageData, x, y);
}
});
layer1.add(dImage1);
stage.add(layer1);
var imageObj = new Image();
imageObj.onload = function() {
drawImage(this);
};
imageObj.src = .....;
나는이 오류가 발생했습니다 : TypeMismatchError 내 단계는 많은 다른 목적을 가지고 있기 때문에, 나는 follwing을 스크립트를 사용했습니다. 미리 감사드립니다.
Mark, 정말 잘해 줘서 고마워. – hncl
마크,이 줄의 이미지 너비와 높이를 변경할 수 있습니까? context2.getImageData (x, y, dicom1.width, dicom1.height); ~로 되려면 context2.getImageData (x, y, 512, 512); 시도했지만 작동하지 않았습니다. 또한 어떻게 오프셋 값을 추가 할 수 있습니까? 도와 주셔서 정말 감사합니다. – hncl
물론입니다. getImageData는 임의의 X/Y에서 시작하는 픽셀의 직사각형 덩어리를 가져옵니다. 따라서 getImageData (myOffsetX, myOffsetY, 512,512)를 사용하여 원하는 오프셋 X/Y에서 512x512 크기의 픽셀 청크를 얻을 수 있습니다. 오류가 발생하는 경우 캔버스의 가장자리를 넘어 픽셀을 요청하지 않았는지 확인하십시오. 따라서 캔버스가 1000x1000이고 getImageData (700,700,512,512)를 수행하면 오류가 발생합니다. – markE