ホームページ > 記事 > ウェブフロントエンド > WeChatアプレットの画像圧縮機能の実装方法
この記事は主にWeChatアプレットの画像圧縮機能を詳しく紹介していますので、興味のある方は参考にしていただければ幸いです。
Xiaolong 兄弟の WeChat アプレットは、初期段階では IE の世界では 6 に相当します。 ここで、私が経験したばかりの落とし穴についてお話します。
写真を撮るためのAPI。
wx.chooseImage({ count: 1, // 默认9 sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有 sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有 success: function (res) { // 返回选定照片的本地文件路径列表,tempFilePath可以作为img标签的src属性显示图片 var tempFilePaths = res.tempFilePaths; } });
上記では、手間を省きたかったのでサイズの種類を明確に示しましたが、役に立ちません...
早速、IOSとAndroidの違いと落とし穴について説明しましょう。写真撮影時の画像圧縮。
// 点击照相 takePictures:function(){ var that = this; wx.chooseImage({ count: 1, // 默认9 sizeType: ['compressed'], // 可以指定是原图还是压缩图,默认二者都有 sourceType: ['camera'], // 可以指定来源是相册还是相机,默认二者都有 success: function (res) { // 返回选定照片的本地文件路径列表,tempFilePath可以作为img标签的src属性显示图片 var tempFilePaths = res.tempFilePaths; that.setData({ attendSuccessImg:tempFilePaths[0] }); // 上传图片 //判断机型 var model = ""; wx.getSystemInfo({ success:function(res){ model= res.model; } }) if(model.indexOf("iPhone") <= 0){ that.uploadFileOpt(that.data.attendSuccessImg); console.log(111111) }else{ drawCanvas(); } // 缩放图片 function drawCanvas(){ const ctx = wx.createCanvasContext('attendCanvasId'); ctx.drawImage(tempFilePaths[0], 0, 0, 94, 96); ctx.draw(); that.prodImageOpt(); } } }); }, // 生成图片 prodImageOpt:function(){ var that = this; wx.canvasToTempFilePath({ canvasId: 'attendCanvasId', success: function success(res) { that.setData({ canvasImgUrl:res.tempFilePath }); // 上传图片 that.uploadFileOpt(that.data.canvasImgUrl); }, complete: function complete(e) { } }); },
クリックして写真を撮った後、IOSは画像圧縮機能を実行しますが、Androidはまだ非常に大きいため、このプロセス中に現在のモデルを決定してからキャンバス圧縮を実行する必要があります。
上記のコードは入手したらすぐに使用できますが、wxml の小さな部分に Canvas タグを追加する必要があります。
インターフェース呼び出しを行います。みんなが助けてくれることを願っています。
関連する推奨事項:
一般的に使用される画像圧縮アップロードの推奨 10 の使用法、ダウンロードへようこそ!
以上がWeChatアプレットの画像圧縮機能の実装方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。