2014-10-03 64 views
2

我有以下代码将图像文件(jpg/png)转换为数据url。裁剪完成后,我可以生成渲染的图像,但会将其保存为png。我需要能够将数据url保存为jpg。将DataURL保存为jpg

renderButton.click(function (event) { 
var dataUrl; 

imgly.renderToDataURL("png", { size: "1280" }, function (err, dataUrl) { 

var image = $("<img><br>").attr({ 
    src: dataUrl 
    }); 

    image.appendTo($(".result")) 
    $button = $('<button class="btn btn-default remove">') 
     .text('Remove') 
     .on('click', function() { 
      image.remove(); 
      $(this).remove(); 
      return false; 
     }); 
    $button.appendTo($(".result"));; 

    }); 
}); 

在renderToDataURL线没有影响改变"png""jpg"。有任何想法吗?

回答

3

更改到

imgly.renderToDataURL("image/jpeg", { size: "1280" }, function (err, dataUrl) 

呼叫如何从源代码读取

renderToDataURL: (format, options={}, callback) -> 
    if typeof options is "function" 
     callback = options 
     options = {} 

@photoProcessor.renderImage options, (err, imageData) => 
     canvas = Utils.newCanvasFromImageData imageData 
     callback null, canvas.toDataURL(format) 

其中format是图像格式,该canvas.toDataURL(format)是负责数据转换

的问题是MIME类型,您可以如何阅读the spec

使用一个或多个参数调用toDataURL(type)方法时,它必须返回一个data:URL,其中包含按照类型给出的格式 中的图像表示形式。可能的值是MIME类型,如果实现实际上保留了足够的信息 以可靠地呈现画布中的SVG图像,则参数为 参数(例如image/png,image/jpeg,甚至可能是 image/svg + xml)。

编辑

renderButton.click(function (event) { 
var dataUrl; 

imgly.renderToDataURL("image/jpeg", { size: "1280" }, function (err, dataUrl) { 

var image = $("<img><br>").attr({ 
    src: dataUrl 
    }); 

    image.appendTo($(".result")) 
    $button = $('<button class="btn btn-default remove">') 
     .text('Remove') 
     .on('click', function() { 
      image.remove(); 
      $(this).remove(); 
      return false; 
     }); 
    $button.appendTo($(".result"));; 

    }); 
}); 

这应该工作

+0

正如我所说下面的代码,使得这种变化没有影响。 – Matt 2014-10-03 15:01:21

+0

现在编辑 – InferOn 2014-10-03 15:05:25

+0

那么我应该用你的代码替换我的线 'imgly.renderToDataURL(“image/jpeg”,{size:“1280”},function(err,dataUrl)'? – Matt 2014-10-03 15:17:07