2

画像ファイル (jpg/png) をデータ URL に変換する次のコードがあります。トリミングが完了すると、レンダリング イメージを生成できますが、png として保存されます。データ URL を 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"何か案は?

4

1 に答える 1

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タイプで、仕様からどのように読み取れるか

toDataURL(type) メソッドが 1 つ以上の引数を指定して呼び出された場合、type で指定された形式の画像表現を含む data: URL を返す必要があります。可能な値は、パラメータのない MIME タイプです。たとえば、image/png、image/jpeg、または実際に実装がキャンバスから SVG 画像を確実にレンダリングするのに十分な情報を保持している場合は、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"));;

    });
});

これはうまくいくはずです

于 2014-10-03T15:00:31.003 に答える