大佬教程收集整理的这篇文章主要介绍了jquery – 应用css后保存画布/图像,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
<canvas id="capEdit" width="500" height="333"></canvas>
然后我使用CSS在画布/图像上应用简单的水平翻转,完美地工作
.flipH { -moz-transform: scale(-1,1); -webkit-transform: scale(-1,1); -o-transform: scale(-1,1); transform: scale(-1,1); filter: FlipH; }
我现在正试图将图像保存在画布上,并保持其翻转状态,但它只保存原始图像,这就是我正在尝试的内容:
$(document).on("click","#applyFlip",function() { // save var canvas = document.getElementById("capEdit"); var dataUrl = canvas.toDataURL(); $.ajax({ type: "POST",url: '/ajax/saveFlip.@L_874_3@',dataType: 'text',data: { base64data : dataUrl,imgName : imgName } }); });
问题:这应该有用吗?如果是这样,为什么不呢?如果它甚至不能像这样工作,有没有办法实现这些结果?基本上,水平&垂直翻转和旋转,然后保存
这是一个很好的解释:http://davidwalsh.name/convert-canvas-image
function convertImageToCanvas(imagE) { var canvas = document.createElement("canvas"); canvas.width = image.width; canvas.height = image.height; canvas.getContext("2d").drawImage(image,0); return canvas; }
使用getContext方法在Canvas中绘制图像后,可以应用变换,旋转,翻译,使用canvas方法而不是CSs.如果你用CSS改变它,你只是在浏览器中编辑它的外观,你实际上并没有操纵像素数据.在实际绘制图像之前,您需要执行以下操作:
// translate context to center of canvas context.translate(canvas.width / 2,canvas.height / 2); // rotate 180 degrees clockwise context.rotate(Math.PI);
解释画布如何工作有点超出了这个问题的范围,但是看看Canvas api如何完全改变你的上下文.一旦你在上下文中有了图像,转换上下文应该很容易:)
一旦你的画布图像显示出你想要的样子,你就需要从中获取一个数据URI(新图像)并将其传递给你的saveFlip.@L_874_3@函数.
// Converts canvas to an image function convertCanvasToImage(canvas) { var image = new Image(); image.src = canvas.toDataURL("image/png"); return image; }
以上是大佬教程为你收集整理的jquery – 应用css后保存画布/图像全部内容,希望文章能够帮你解决jquery – 应用css后保存画布/图像所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。