微信小程序?qū)崿F(xiàn)拍照功能
小程序?qū)崿F(xiàn)一個(gè)拍照功能,親測(cè)可用。
頁(yè)面的樣式都是我自己寫(xiě)的,當(dāng)然你們也可以自己排版寫(xiě)樣式。下面一共有三個(gè)按鈕,返回按鈕、拍照按鈕、切換攝像頭按鈕。

首先相機(jī)頁(yè)面是通過(guò)wx:if來(lái)讓其隱藏的,通過(guò)點(diǎn)擊我們頁(yè)面的拍照按鈕來(lái)使條件為true,從而讓我們的相機(jī)頁(yè)面顯示出來(lái)。然后我這里寫(xiě)了三個(gè)按鈕,一個(gè)是返回按鈕,一個(gè)是點(diǎn)擊快門(mén)拍照的按鈕,一個(gè)是攝像頭的前置攝像頭和后置攝像頭的轉(zhuǎn)換按鈕。
index.wxml
<camera device-position="{{cameraPos}}" wx:if="{{showCamera}}">
? <view class="CameraOptions">
? ? <view class="takePicBtn">
? ? ? ?<!-- 攝像頭的返回按鈕 -->
? ? ? ?<cover-image class="confirm" src="" bindtap="goBack"></cover-image>
? ? ? ?<!-- 照相的按鈕 -->
? ? ? ?<cover-view bindtap="getPhoto"></cover-view>
? ? ? ?<!-- 攝像頭的前后轉(zhuǎn)換按鈕 -->
? ? ? ?<cover-image class="switch" src="" bindtap='changePos'></cover-image>
? ?</view>
? </view>
</camera>cover-view:
覆蓋在原生組件之上的文本視圖,可覆蓋的原生組件包括:map(地圖)、video(視頻)、canvas(畫(huà)布)、camera(系統(tǒng)相機(jī))、live-pusher(實(shí)時(shí)音視頻播放),只支持嵌套 cover-view、cover-image,可在 cover-view 中使用 button。
cover-image:
覆蓋在原生組件之上的圖片視圖,可覆蓋的原生組件同cover-view,支持覆蓋在cover-view里。
device-position:
是用來(lái)切換前置攝像頭還是后置攝像頭,front是前置攝像頭,back是后置攝像頭
index.js
// 照相
? getPhoto() {
? ? // c創(chuàng)建相機(jī)上下文對(duì)象,獲取唯一的相機(jī)對(duì)象
? ? var context = wx.createCameraContext()
? ? // 照相功能
? ? context.takePhoto({
? ? ? quality: "high",
? ? ? success: res => {
? ? ? ? // 照相成功的回調(diào)
? ? ? ? console.log(res); ?// 圖片的信息
? ? ? ? this.setData({
? ? ? ? ? // 隱藏相機(jī)
? ? ? ? ? // ?showCamera:false,
? ? ? ? ? imageUrl: res.tempImagePath,
? ? ? ? ? imgwidth: res.width,
? ? ? ? ? imgheight: res.height
? ? ? ? })
? ? ? ? console.log(this.data.imageUrl)
? ? ? },
? ? ? fail: () => {
? ? ? ? wx.showToast({
? ? ? ? ? title: '出現(xiàn)錯(cuò)誤',
? ? ? ? })
? ? ? }
? ? })
? },
?
// 相機(jī)前后鏡頭轉(zhuǎn)換
? changePos() {
? ? this.setData({
? ? ? cameraPos: this.data.cameraPos == "back" ? "front" : "back"
? ? })
? },
?
// 關(guān)閉相機(jī)
? goBack() {
? ? this.setData({
? ? ? showCamera: false,
? ? })
? },拍照成功回調(diào)函數(shù)的res是我們拍照照片的一些信息,其中res.tempImagePath是我們圖片的本地路徑,我當(dāng)時(shí)還有一個(gè)裁剪圖片的功能,這里沒(méi)有寫(xiě)上去。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 微信小程序?qū)崿F(xiàn)拍照和相冊(cè)選取圖片
- 微信小程序使用前置攝像頭拍照
- 微信小程序 拍照或從相冊(cè)選取圖片上傳代碼實(shí)例
- 微信小程序?qū)崿F(xiàn)拍照畫(huà)布指定區(qū)域生成圖片
- 微信小程序拍照和攝像功能實(shí)現(xiàn)方法示例
- 微信小程序chooseImage的用法(從本地相冊(cè)選擇圖片或使用相機(jī)拍照)
- 微信小程序調(diào)用攝像頭隱藏式拍照功能
- 微信小程序?qū)崿F(xiàn)倒計(jì)時(shí)調(diào)用相機(jī)自動(dòng)拍照功能
- 微信小程序 chooseImage選擇圖片或者拍照
- 微信小程序-拍照或選擇圖片并上傳文件
相關(guān)文章
JS簡(jiǎn)單判斷滾動(dòng)條的滾動(dòng)方向?qū)崿F(xiàn)方法
這篇文章主要介紹了JS簡(jiǎn)單判斷滾動(dòng)條的滾動(dòng)方向?qū)崿F(xiàn)方法,涉及javascript針對(duì)scrollTop事件的相關(guān)操作技巧,需要的朋友可以參考下2017-04-04
修改js confirm alert 提示框文字的簡(jiǎn)單實(shí)例
下面小編就為大家?guī)?lái)一篇修改js confirm alert 提示框文字的簡(jiǎn)單實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-06-06
javascript設(shè)計(jì)模式 – 單例模式原理與應(yīng)用實(shí)例分析
這篇文章主要介紹了javascript設(shè)計(jì)模式 – 單例模式原理與應(yīng)用,結(jié)合實(shí)例形式分析了javascript單例模式原理、定義、應(yīng)用場(chǎng)景及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2020-04-04
javascript實(shí)現(xiàn)框架高度隨內(nèi)容改變的方法
這篇文章主要介紹了javascript實(shí)現(xiàn)框架高度隨內(nèi)容改變的方法,實(shí)例分析了通過(guò)父頁(yè)面及內(nèi)容改變框架高度兩種實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07
微信小程序自定義掃碼功能界面的實(shí)現(xiàn)代碼
這篇文章主要介紹了微信小程序自定義掃碼功能界面的實(shí)現(xiàn)代碼,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07
微信小程序scroll-view隱藏滾動(dòng)條的方法詳解
這篇文章主要介紹了微信小程序scroll-view隱藏滾動(dòng)條的方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03

