丰原辰收割机放大太多,图像质量下降

时间:2015-12-21 11:47:08

标签: jquery image-processing zoom resize-crop

我是通过此配置从Crop Avatar例子开始为我的应用

this.$img.cropper({
          preview: this.$avatarPreview.selector,
          viewMode: 2,
          dragMode: 'move',
          guides: false,
          highlight: false,
          autoCropArea: 1,
          movable: true,
          strict: true,
          cropBoxResizable: false,
          minCropBoxWidth: 1000,
          minCropBoxHeight: 1000,
          zoom: function (e) {
            if (e.ratio > 1) {
              e.preventDefault();
              $(this).cropper('zoomTo', 1);
            }
          },

像这样使用它我可以缩放到比率1但是对于较小的图像太多了。例如,1200x1200图像可以按比例1缩放到一个级别,将其保存到1000x1000,它会损失很多质量。 我尝试使用$(this).cropper('zoomTo', 1);在1以下,但它会产生一种奇怪的效果。如果我放大到它会使我达到原始尺寸。

我的问题是如何阻止缩放到x0.2或合理的值。谢谢

1 个答案:

答案 0 :(得分:0)

这个答案来自开发裁剪器的fengyuanchen,我认为适合我对不同设备上不同分辨率的裁剪器的需求

$().cropper({
  zoom: function (e) {
    var container = $(this).cropper('getContainerData');

    // Desktop
    if (container.width > 1120) {

      // Zoom in
      if (e.ratio > e.oldRatio) {
        if (e.ratio > 10) {
          e.preventDefault();
        }

      // Zoom out
      } else {
        if (e.ratio < 0.1) {
          e.preventDefault();
        }
      }

    // Laptop
    } else if (container.width > 992) {
      // ...

    // Tablet
    } else if (container.width > 768) {
      // ...

    // Phone
    } else {
      // ...
    }
  }
});