1

canvas.toDataURL() を使用して、画像を base64 形式で取得しています。しかし、サーバーにアップロードする前に、画像のメモリ サイズを 10KB に減らすことはできますか? JavaScript または jquery を使用してこれを行うにはどうすればよいですか?私が使用しているコードは次のとおりです。

var context = canvas.getContext("2d");
context.drawImage(imageObj, c.x, c.y, c.w, c.h, 0, 0, canvas.width, canvas.height);
var vData = canvas.toDataURL();
4

1 に答える 1

3

文字列を圧縮したい場合は、こちらで説明されている圧縮アルゴリズムのいずれかを試すことができますが、DataURL はすでにかなり圧縮されているため、大きな違いはありません。

もう 1 つのオプションはtoDataURL、JPG の品質を指定する 2 番目のパラメーターを使用することです。これは、多くの場合、画質に目に見える影響を与えずに安全に下げることができます。

要求されたタイプが image/jpeg または image/webp の場合、2 番目の引数が 0.0 から 1.0 の間であれば、画質を示すものとして扱われます。2 番目の引数がそれ以外の場合、画質のデフォルト値が使用されます。他の引数は無視されます。

于 2013-03-07T08:59:50.520 に答える