내 프로젝트에서 캔버스 디자인을 사용하여 이미지 미리보기를 보여주고 있습니다. 내 원본 이미지는 Original image캔버스에서 들쭉날쭉 한 선을 제거하는 방법은 무엇입니까?
캔버스를 사용하여 위와 같이 구부러진이 Curved image입니다.
그러나 그것의 상단과 하단이 들쭉날쭉이다.
<!DOCTYPE HTML>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
</head>
<body>
<section id="test"></section>
<script>
var image = new Image();
image.id = "imgBendSource";
image.style.display = "none";
image.onload = function() {
$("#test").append(image);
var newWidth = "415";
var newHeight = "285";
var img = document.getElementById("imgBendSource");
var x1 = 415/2;
var x2 = 415;
var y1 = 15; // input y of O here
var y2 = 0;
var eb = (y2 * x1 * x1 - y1 * x2 * x2)/(x2 * x1 * x1 - x1 * x2 * x2);
var ea = (y1 - eb * x1)/(x1 * x1);
var canvasHeight = parseInt(newHeight) + y1;
// create a new canvas for bend image
var canvasElement = '<canvas id="imgBendCanvas" width="' + newWidth + '" height="' + canvasHeight + '"/>';
$("#test").append(canvasElement);
canvasElement = document.getElementById("imgBendCanvas");
var bendCtx = canvasElement.getContext('2d');
for (var x = 0; x < newWidth; x++) {
// calculate the current offset
currentYOffset = (ea * x * x) + eb * x;
bendCtx.drawImage(img, x, 0, 1, newHeight, x, currentYOffset, 1, newHeight);
}
}
image.src = 'http://www.html5canvastutorials.com/demos/assets/darth-vader.jpg';
</script>
</body>
</html>
다른 방법으로 달성 할 수 있습니까? 사용할 수있는 플러그인은 무엇입니까?
안녕 bjanes, 당신은 pls 코드를 공유 할 수 있을까요? – prisel
@prisel sure! 추가 코드 – bjanes
안녕하세요 bjanes, 귀하의 회신에 감사드립니다. 이 코드는 IE에서만 훌륭하게 작동합니다. 다른 브라우저에서도이 문제를 해결하는 방법은 무엇입니까? – prisel