gpt4 book ai didi

image - 将上传的图像(使用 Ajax)绘制到 Canvas 上

转载 作者:行者123 更新时间:2023-12-01 01:36:53 25 4
gpt4 key购买 nike

我正在使用 jQuery AJAX Form 插件上传图像而不刷新页面。如果我在图像标签中显示上传的图像(将 src 设置为上传的图像路径)就可以了。但是,我无法在 Canvas 元素上绘制上传的图像。我其实不知道问题是什么。

if (isset($_FILES["image"]["name"]) && !empty($_FILES["image"]["name"])) {
$filename = $_FILES["image"]["name"];
$tmpname = $_FILES["image"]["tmp_name"];

$location = "uploads/";
move_uploaded_file($tmpname, $location.$filename);
echo $location.$filename;
} else {}​

var canvas = document.getElementById("canv");
var contex = canvas.getContext("2d");
var img = new Image();
img.src = responseText;
img.onload = function(){ contex.putImageData(img, 0, 0); }

上面是我在 Ajax 进程完成时调用的回调函数(内部)。感谢您提供任何有用的答案。

更新:完整代码

<html>
<head>
<script src="jq171.js"></script> <!--jQuery-->
<script src="jqform.js"></script> <!--jQuery ajax Form plugin-->

<script>
$(document).ready(function(){
$("#myform").ajaxForm(function({success: updateSrc}){
});
});

function updateSrc(responseText){
var canvas = document.getElementById("canv");
var contex = canvas.getContext("2d");

var img = new Image();
img.src = responseText;
img.onload = function(){ contex.drawImage(img, 0, 0); }

}
</script>
</head>
<body>
<form id="myform" action="this.php" method="post" enctype="multipart/form-data" >
<canvas id="canv" width="400px" height="400px"></canvas>
<input type="file" name="image"/>
<input type="submit"/>
</form>
</body>
</html>

最佳答案

是否有理由不自动请求图像?

将 updateSrc 保留为

function updateSrc(imagePath){
var canvas = document.getElementById("canv");
var contex = canvas.getContext("2d");

var img = new Image();
img.src = imagePath;
img.onload = function(){ contex.drawImage(img, 0, 0); }

}

其中 imagePath 是图像文件的路径。例如:

updateSrc("images/example_image.jpg");

所以jquery ajax请求根本不需要写。

关于image - 将上传的图像(使用 Ajax)绘制到 Canvas 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10851756/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com