Coder Social home page Coder Social logo

newbieyoung / simple-crop Goto Github PK

View Code? Open in Web Editor NEW
420.0 420.0 80.0 9.02 MB

全网唯一支持裁剪图片任意角度旋转、交互体验媲美原生客户端的全平台图片裁剪组件。

License: MIT License

CSS 19.38% JavaScript 77.74% Vue 2.88%
cropper image-cropper image-processing react-cropper vue-cropper wxcropper

simple-crop's People

Contributors

mokywu avatar newbieyoung avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

simple-crop's Issues

【小程序】iOS选取图片和拍照选取后,图片无法加载的问题。

微信版本:7.0.20, 设备从SE2到12pm,均出现在上传图片或者拍照图片出现以下错误:

1、一直显示”正在加载图片...“的loading
2、图片无法正常加载

暂时找到可能的问题所在:
1、查看源码的以及本地调试,image.onload方法未触发。

期待结果同安卓,正常上传图片后编辑。

裁剪之后图像变得特别模糊,但是在示例小程序里面图像是清晰的

以下是一些代码片段
`
Page({
data:{
src: null, // 裁剪图片地址
visible: false, // 是否显示
size: { //裁剪尺寸
width: 112,
height: 140
},
cropSizePercent: 0.9, //裁剪框显示比例
borderColor: '#fff', //裁剪框边框颜色
result: '', //裁剪结果地址
},

upload_logo() {
var that = this;
wx.chooseImage({
count: 1,
success: function (res) {
var tempFilePaths = res.tempFilePaths;
that.setData({
visible: true,
src: tempFilePaths[0],
})
}
})
},
//选取裁剪图片成功回调
uploadCallback: function (event) {
console.log(event);
},
//裁剪图片回调
cropCallback: function (event) {
var that = this;
console.log(event);
this.setData({
visible: false,
result: event.detail.resultSrc,
});
wx.uploadFile({
url: 'https://domain.com/apidocs/upload/singlefile',
filePath: event.detail.resultSrc,
name: 'file',
formData: {
token: '123',
wxapp_id: '456',
type: 'cardPhoto',
},
success: function (res) {
console.log(res);
var data = JSON.parse(res.data);
if (data.code == 200) {
that.setData({
'formData.logo': data.data.fileUrl,
})
}
}
})
},
//关闭回调
closeCallback: function (event) {
console.log(event);
this.setData({
visible: false,
});
},
})

`

QQ小程序出错

非常不错的实现,微信小程序下完美运行,但QQ小程序运行错误。对canvas不太熟,能帮忙修改兼容下QQ小程序不?

微信小程序上,有时候拍照获得不了图片

这样的,重启微信,然后从相机获取照片裁剪正常,然后最小化程序,再打开,再次使用从相机获取就不会出现照片了,从相册获取一直正常,ios系统,谢谢大佬解答。

Circle

Any way to crop a circle just using script for browser? QR and URL are dead btw. Thanks!

webpack打包后报错

依赖的exif-js中
function getStringFromDB(buffer, start, length) {
var outstr = "";
for ( n = start; n < start+length; n++) {
outstr += String.fromCharCode(buffer.getUint8(n));
}
return outstr;
}
在webpack打包后,会报n is not defined,只能引用静态js文件将该地方改成var n = start

小程序端不能加载网络图片

开发者工具可以,但安卓真机不行

//加载图片
    load: function () {
      var self = this;
      var src = this.data.src;

      wx.showLoading({
        title: '正在加载图片...',
      })
      
      wx.getImageInfo({
        src: src,
        success(res) {
          console.log("获取图片成功")
          self.originImage = res;
          self._orientation = self.orientationToNumber(res.orientation);
          self.getRealCotentSize();
          setTimeout(function () {
            var image = self.$cropContent.createImage();
           //开发者工具打印的是dom, 安卓真机打印的是空object
            console.log("image======", image);
            image.onerror =function (err) { console.log('image加载失败', err, image) }
            image.onload = function () {
              console.log("image onLoad")
              self.transformCoordinates(image);
              self.init();
            }
            image.src = src;
            
          }, 50) // ios delay 保证 canvas style 尺寸生效
        },
        fail(res) {
          console.log("获取图片失败", res)
        }
      })
    },

小图裁剪尺寸不正确问题

913行,cropWidth / contentWidth > cropHeight > contentHeight,是不是写错了,应该是cropWidth / contentWidth > cropHeight / contentHeight

裁剪的图片变模糊

vx小程序中,传入远程的图片url后,初始化后一直到transformCoordinates这个方法下的image都是清晰的,裁剪后变得很模糊,后面我在transformCoordinates这个方法下,把调用wx.canvasToTempFilePath的destWidth和destHeight都放大到wx.getSystemInfoSync().pixelRatio倍数,才好那么一点点,但是还是模糊,求解,基础库为2.11.1,机型安卓和iOS都模糊

是否可以支持自由描边?

现在裁剪区域固定成了矩形,虽然支持自由旋转,但是对于有些因拍摄角度而导致的两边长度不一样的图片,不能进行精确的裁剪,是否可以支持自由描边,类似于PS中的描边抠图的效果?

图片尺寸大小有限制,初始化无法加载,裁剪图片模糊

我重开了一个issues,这里是代码片段,发现wx.canvasToTempFilePath传入的宽高是有限制的,传原图上去是3000*4000,无法转换,缩小2倍就可以,不知是不是这个API本身原因,上面的片段初始化被压缩一次,裁剪被压缩一次,出来的图就很糊了,复测过程:上传-拍照-选择原图-完成-点击图片裁剪-完成裁剪

将img的src改为动态上传的,然后裁剪出来的图片位置不对

我是将传入的src 通过input的file 类型进行上传,然后转换成base64在img 中进行显示,移动、旋转功能都没有问题,但是最后裁剪出来的跟裁剪前放到可视区域中的不一样;
还有个小问题是rotateSlider设为false 时,再点击旋转会报错。

IOS14.0.1微信小程序选择照片,不显示图片。

微信开发者工具可以显示,但部分真机无法显示,不显示的机型包括: iphone xs, iphone11 pro max,反复测试后,不管是杀死微信还是移除小程序,安卓与ios均会出现拍照后上传图片至组件,回调函数不被调用。以上问题均未出现任何报错与错误日志,望解决

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.