我有2周的div裁剪圖像到畫布
<div id="image-orig">
<img src="image_example.jpg"/>
</div>
<div id="image-crop">
<canvas id="preview" style="width:548px;height:387px"></canvas>
</div>
image_example.jpg可以是任何尺寸的圖像。
function updatePreview(c) {
if(parseInt(c.w) > 0) {
var orig = $("#image-orig img")[0];
var canvas = $("#image-crop canvas")[0];
var context = canvas.getContext("2d");
context.drawImage(orig,
c.x*coeff,c.y*coeff,c.w*coeff,c.h*coeff,
0,0,canvas.width,canvas.height
);
}
}
$(function(){
$('#image-orig img').Jcrop({
onSelect: updatePreview,
onChange: updatePreview,
aspectRatio : parseFloat($('#image-orig img').width()/$('#image-orig img').height())
});
});
coeff - 它的係數如果大小圖像較大的div預覽。
這就是問題: http://dbwap.ru/3725988.png
在第二個div(畫布)。質量圖像非常低。
找到解決
canvas.width = c.w*coeff;
canvas.height = c.h*coeff;
context.drawImage(orig,
c.x*coeff,c.y*coeff,c.w*coeff,c.h*coeff,
0,0,c.w*coeff,c.h*coeff
);
$(that.el).find("#ImageCode").attr('src', canvas.toDataURL());
$(that.el).find("#ImageCode").show();
我只是創建圖像標籤和複製從畫布圖像。
只是我需要做這個沒有服務器端platdorms。 – RED
更新的解決方案(首先,確保在html5畫布中設置圖像平滑) – BumbleB2na
也許它的工作原理,但此解決方案僅適用於IE,Mozilla。我解決了我的問題。 – RED