ホームページ  >  記事  >  ウェブフロントエンド  >  WeChatアプレットが画像圧縮機能を開発

WeChatアプレットが画像圧縮機能を開発

php中世界最好的语言
php中世界最好的语言オリジナル
2018-03-23 10:02:402530ブラウズ

今回は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 タグを追加する必要があります。

インターフェース呼び出しを行います。みんなが助けてくれることを願っています。

この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。

推奨読書:

jQueryコードの最適化方法のまとめ

360ブラウザ互換モードで不完全なページ表示に対処する方法

Node.jsの非対称暗号化の詳細な説明

以上がWeChatアプレットが画像圧縮機能を開発の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。