У меня 2 дивыОбрезка изображения на холст
<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 - коэффициент, если размер изображения увеличенного предварительного просмотра.
Вот проблема: 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();
Я просто создать тег изображения и копирования из холста к изображению.
Просто мне нужно сделать это без серверных платформ. – RED
обновленное решение (во-первых, убедитесь, что сглаживание изображения установлено в холсте html5) – BumbleB2na
Возможно, это работает, но это решение только для IE, Mozilla. Я решил свою проблему. – RED