In meinem Projekt zeige ich eine Bildvorschau mit Canvas Design. Mein Originalbild ist Original imagewie gezackte Linien in Leinwand zu entfernen?
Mit Leinwand ich oben und unten gebogen wie diese Curved image.
aber oben und unten ist gezackt.
<!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>
Gibt es einen anderen Weg, um es zu erreichen? irgendwelche plugins verfügbar?
Hallo bjanes, Könnten Sie pls Ihren Code teilen? – prisel
@prisel sicher! Code – bjanes
hinzugefügt Hi bjanes, Danke für Ihre Antwort. Dieser Code funktioniert nur mit IE. Wie behebe ich dieses Problem auch für andere Browser? – prisel