Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript图像裁剪是否可以不使用画布?_Javascript_Html_Image_Canvas_Crop - Fatal编程技术网

Javascript图像裁剪是否可以不使用画布?

Javascript图像裁剪是否可以不使用画布?,javascript,html,image,canvas,crop,Javascript,Html,Image,Canvas,Crop,web上有很多用于Javascript图像裁剪/调整大小的脚本和插件。使用HTML5画布裁剪特定区域,并通过DataUrl将图像存储回客户端。但是在没有画布的情况下,我测试了jquery插件,但它最终只提供了裁剪坐标(x,y,width,height)。图像上从未调用过实际的裁剪函数 如何在Javascript图像对象上实际使用这些裁剪坐标?我可以只使用CSS来显示被裁剪的图像,还是可以将该图像中的数据裁剪成Javascript中的新图像 在我看来,所有图像裁剪插件都只提供了一个方便的UI来获取

web上有很多用于Javascript图像裁剪/调整大小的脚本和插件。使用HTML5画布裁剪特定区域,并通过DataUrl将图像存储回客户端。但是在没有画布的情况下,我测试了jquery插件,但它最终只提供了裁剪坐标(x,y,width,height)。图像上从未调用过实际的裁剪函数

如何在Javascript图像对象上实际使用这些裁剪坐标?我可以只使用CSS来显示被裁剪的图像,还是可以将该图像中的数据裁剪成Javascript中的新图像

在我看来,所有图像裁剪插件都只提供了一个方便的UI来获取裁剪坐标,但实际的裁剪/调整大小必须在服务器端完成,并将图像发送到php脚本,对吗


我的问题与此相同,但尚未得到回答。

您需要的是一个库,用于将图像数据读取到2d像素阵列(或画布中的1d像素阵列),裁剪像素,然后将其写入压缩图像数据


很抱歉,那个图书馆是画布。当然,您可以使用css来伪造它,但所有的图像数据仍然存在,您只需选择只显示其中的一部分。

您可以尝试下面的方法,但它使用画布进行渲染

到目前为止,没有画布就没有好的lib可用,因为在没有图形卡的情况下,很难捕获您选择的点并处理成千上万的像素

画布仅具有使用图形卡的功能

intel和firefox正在做一些与此相关的概念,以在javascript中引入并行处理


在javascript中,一切都是可能的(几乎一切都是可能的)


要裁剪图像,您需要绕过DOM和内置的图像处理API,并自己解码图像。需要做很多额外的工作,但也有一些帮助。在github上快速搜索可以找到jpg和png格式的解码器/编码器(我相信还有很多),所以只要稍加修改,您就可以对它们进行裁剪

如果你有任何服务器的杠杆,你可以发送图像和裁剪参数到服务器,并让它发回裁剪图像数据。啊,好的,我明白了。所以我的假设是正确的,像Jcrop、Jrac等插件只提供裁剪操作的UI,但没有能力在服务器端没有php的情况下对图像数据进行裁剪?这是正确的。除非它使用画布。但听起来好像你不能在这个项目中使用画布?我可以在我的项目中使用画布,但我只是想了解图像裁剪/调整大小的限制和概念。我将首先尝试使用客户机(canvas)进行这种处理。不仅网络上的通信量更少,而且画布也得到了硬件加速。使用PHP,您将找不到任何硬件加速的方法来裁剪图像,因此CPU(而不是GPU)将需要执行此计算,这将对您的服务器造成负担。祝你好运