Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara menggunakan PHP untuk melaksanakan fungsi kamera dalam applet WeChat

Cara menggunakan PHP untuk melaksanakan fungsi kamera dalam applet WeChat

王林
王林asal
2023-06-01 11:21:232304semak imbas

Dengan promosi giat program mini WeChat, semakin ramai pembangun ingin menambah beberapa kaedah interaktif yang menarik pada program mini, antaranya fungsi kamera amat diperlukan. Dalam artikel ini, kami akan memperkenalkan cara menggunakan PHP untuk melaksanakan fungsi kamera dalam applet WeChat.

Prasyarat untuk pembangunan

Sebelum memulakan pembangunan, kita perlu mempunyai teknologi dan perisian berikut:

  • Asas Pembangunan Program Mini WeChat
  • Asas bahasa PHP
  • API rasmi program mini WeChat (WxRequest) untuk mendapatkan kebenaran pengguna
  • Modul pengembangan GD perpustakaan pemprosesan imej PHP
  • Pelayan storan latar belakang program mini, adalah disyorkan untuk gunakan perkhidmatan awan, seperti Alibaba Cloud, Tencent Cloud, dll.

Langkah untuk melaksanakan fungsi kamera program mini WeChat dalam PHP

1 >

Program mini perlu mendapatkan kebenaran dan kebenaran pengguna, untuk menggunakan fungsi kamera. Gunakan kaedah wx.authorize dalam program mini untuk mendapatkan kebenaran pengguna.

2. Applet membuka kamera dan mengambil gambar

Applet menggunakan kaedah wx.chooseImage untuk membuka kamera peranti pengguna, dan selepas foto diambil, foto disimpan dalam folder sementara.

3. Muat naik foto dalam folder sementara ke pelayan

Gunakan kaedah wx.uploadFile untuk memuat naik foto dalam folder sementara ke pelayan.

4. Gunakan bahasa PHP untuk pemprosesan imej

Selepas pelayan menerima foto yang dimuat naik, ia menggunakan bahasa PHP untuk memproses imej dan menyimpan imej yang diproses pada pelayan.

Di bawah ini kami akan memperkenalkan kaedah pelaksanaan khusus bagi setiap langkah secara terperinci.

Program mini mendapat kebenaran pengguna

Program mini perlu mendapatkan kebenaran pengguna sebelum ia boleh menggunakan fungsi kamera. Gunakan kaedah wx.authorize dalam program mini untuk mendapatkan kebenaran pengguna.

Anda boleh terlebih dahulu menentukan fungsi dalam fail app.js program mini:

//授权获取用户摄像头权限
function takePhoto() {
  wx.authorize({
    scope: 'scope.camera',
    success: function () {
      console.log("授权成功");
      //调用打开摄像头代码
      choosePhoto();
    },
    fail: function () {
      console.log("授权失败");
    }
  })
}

Apabila pengguna mengesahkan kebenaran, panggil fungsi choosePhoto() untuk menghidupkan fungsi kamera.

Aplet membuka kamera dan mengambil gambar

Selepas pengguna membenarkannya, kita perlu menggunakan kaedah wx.chooseImage dalam applet untuk membuka kamera peranti pengguna dan melaksanakan yang sepadan operasi foto. Apa yang perlu diperhatikan di sini ialah kita perlu menyimpan foto selepas mengambilnya dalam folder sementara.

Teruskan untuk menentukan fungsi choosePhoto() dalam app.js program mini Fungsi ini akan membuka kamera dan mengambil gambar secara automatik, dan menyimpan foto yang diambil dalam folder sementara:

// 打开照相并进行拍照
function choosePhoto() {
  wx.chooseImage({
    count: 1, // 可以选择的图片数量
    sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图
    sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机
    success: function (res) {
      // 将拍照后的照片保存在本地文件夹中
      var tempFilePaths = res.tempFilePaths
      wx.uploadFile({
        url: '服务器地址',
        filePath: tempFilePaths,
        name: 'file',
        success: function (res) {
          var data = res.data;
          console.log(data);
        },
        fail: function (res) {
          console.log(res);
        }
      })
    }
  })
}
Di sini, foto yang diambil oleh pengguna diperoleh melalui kaedah wx.chooseImage, dan kaedah wx.uploadFile digunakan untuk memuat naik foto ke pelayan.

Muat naik foto dalam folder sementara ke pelayan

Selepas berjaya mendapatkan foto yang diambil oleh pengguna, kami perlu memuat naiknya ke pelayan untuk diproses. Kod untuk memuat naik ke pelayan menggunakan kaedah wx.uploadFile adalah seperti berikut:

    wx.uploadFile({
        url: '服务器地址',
        filePath: tempFilePaths,
        name: 'file',
        success: function (res) {
          var data = res.data;
          console.log(data);
        },
        fail: function (res) {
          console.log(res);
        }
      })

Alamat pelayan di sini perlu dinyatakan sebagai laluan ke fail PHP di mana foto yang dimuat naik berada. Contohnya: http://www.example.com/upload.php

Gunakan bahasa PHP untuk pemprosesan imej

PHP ialah bahasa skrip bahagian pelayan yang sangat berguna Kita boleh menggunakan PHP untuk Foto yang dimuat naik diproses untuk mencapai kesan yang kita inginkan.

Pustaka yang menggunakan bahasa PHP untuk memproses imej biasanya modul sambungan GD dan perlu dipasang pada bahagian pelayan. Melalui modul pengembangan GD PHP, kami boleh melakukan operasi pemprosesan berikut: pemampatan imej, putaran imej, penskalaan imej, dsb.

Untuk foto yang perlu diproses, kami boleh memuat turunnya dari pelayan ke komputer setempat dahulu, dan kemudian melakukan operasi yang sepadan padanya. Kod anggaran adalah seperti berikut:

//下载服务器照片
$img = 'http://www.example.com/image.jpg';
$localimage = './image.jpg';
$imgcontent = file_get_contents($img);
file_put_contents($localimage, $imgcontent);
//使用GD库进行图片的缩放处理
$image = imagecreatefromjpeg($localimage);
$x = imagesx($image);
$y = imagesy($image);
$xnew = 100 ;//新图片大小
$ynew = 100 ;//新图片大小
$image_p = imagecreatetruecolor($xnew, $ynew);
imagecopyresampled($image_p, $image, 0,0,0,0, $xnew,$ynew,$x,$y);
imagepng($image_p, $localimage);//将处理后的图片保存
imagedestroy($image_p);
imagedestroy($image);

Melalui operasi di atas, kami boleh menggunakan PHP pada pelayan untuk memproses foto yang dimuat naik oleh pengguna, dan menyimpan foto yang diproses pada pelayan.

Kesimpulan

Artikel ini memperkenalkan cara menggunakan PHP untuk melaksanakan fungsi pengambilan foto dalam applet WeChat, termasuk kebenaran pengguna, membuka kamera dan mengambil foto, memuat naik foto ke pelayan dan pelayan memproses foto. Melalui cara teknikal di atas, kita boleh dengan mudah merealisasikan fungsi pengambilan gambar yang menarik dalam program mini WeChat, dan menambahkan lagi keseronokan dan pengalaman kepada pengguna program mini tersebut.

Atas ialah kandungan terperinci Cara menggunakan PHP untuk melaksanakan fungsi kamera dalam applet WeChat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn