我正在使用ImageMagick进行一些图像处理。我试图从一个服务中流式传输一个文件,该服务返回一个输入流,并在不让文件访问硬盘的情况下动态地进行图像操作。
当我使用InputStream、OutputStream、FileOutputStream类将输入流转换为文件时,结果文件大小与存储在服务上的文件大小相同(初始文件大小为9MB)。这很好。当我通过ImageMagick运行输入流时,即使我没有做任何操作,结果文件也要小得多(2MB)。我不确定我做错了什么,或者ImageMagick在我不知道的情况下对文件做了什么。下面是我的代码片段:
IMOperation op = new IMOper
当我使用drawImage()绘制一个Jpeg图像到画布,之后,使用canvas.toDataURL()使它可以保存在本地(用鼠标右键单击),然后保存的Jpeg图像文件大小减少了大约40%。只有在使用Jpeg时才是这样。PNG,GIF (非压缩文件)的大小上升。我想,如果我转换一个图像文件到Base64,大小增长到大约130%。所以我认为canvas-element有自己的集成压缩功能?如果是,我可以停用它吗?
代码如下所示:
var img = new Image();
img.onload = function ()
{
var width = img.width;
var heigh