미니 프로그램 내 사진 저장 및 친구들과 공유 기능 구현
이번에는 미니 프로그램의 사진 저장 및 모멘트 공유 기능 구현에 대해 알려드리겠습니다. 미니 프로그램의 사진 저장 및 모멘트 공유 기능 구현 시 주의사항은 무엇인가요? 봐.
설명
먼저 미니 프로그램 내에서는 모멘트에 직접 공유하는 것이 불가능합니다. 따라서 우리는 사진을 생성하고, 미니 프로그램의 QR 코드를 휴대하고, 휴대폰 앨범에 저장하고, 사용자가 선택하여 친구들에게 보낼 수 있도록 할 수 있습니다. 그러면 미니프로그램에 있는 QR코드를 인식하여 미니프로그램의 지정된 페이지로 들어갈 수 있습니다. 시중에서 공유를 지원하는 애플리케이션을 살펴보면 기본적으로 이런 방식으로 구현되어 있습니다.
준비 단계
1. 서버를 통해 미니 프로그램 코드를 얻습니다
여기에서 WeChat의 공식 문서를 참조하고 배경에 대한 매개변수, 경로 및 기타 정보를 지정하여 배경이 생성될 수 있도록 합니다. 지정된 미니 프로그램 코드. 그런 다음 wx.getImageInfo를 호출하여 백그라운드에서 생성된 작은 프로그램 코드를 저장합니다.
미니 프로그램 코드를 생성하는 공식 서버가 없으면 WeChat 문서를 주의 깊게 읽어야 합니다. 이는 디버깅에도 매우 짜증나고 불편합니다. wx.getImageInfo({
src:'https://xxx.jpg',//服务器返回的带参数的小程序码地址
success: function (res) {
//res.path是网络图片的本地地址
qrCodePath = res.path;
},
fail: function (res) {
//失败回调
}
});
모든 그림을 준비한 후 캔버스를 통해 그린 다음 캔버스를 그림으로 내보낼 수 있습니다. 그리기에 관해서는 WeChat의 Canvas API를 참고할 수 있습니다. 다음은 기본적으로 API 메소드를 기반으로 합니다.
몇가지 주의사항이 있습니다.
1. 그려지는 텍스트의 길이를 모르기 때문에 텍스트를 언제 줄바꿈해야 할지 알 수 없습니다. 따라서 상품 제목의 경우 여러 줄의 데이터가 한 줄에 18자로 고정될 수 있습니다.
2. 공식 API에 따르면 draw() 완료 콜백에서 실행되어야 하는데,
canvasCtx.draw(false,function(res){ });
이 메소드를 통해서는 콜백이 완료되지 않습니다. 무엇이 잘못되었는지 모르겠습니다. 그래서 결국 사진을 저장하기 위해 지연을 추가해야 했습니다.
/** * 绘制分享的图片 * @param goodsPicPath 商品图片的本地链接 * @param qrCodePath 二维码的本地链接 */ drawSharePic: function (goodsPicPath, qrCodePath) { wx.showLoading({ title: '正在生成图片...', mask: true, }); //y方向的偏移量,因为是从上往下绘制的,所以y一直向下偏移,不断增大。 let yOffset = 20; const goodsTitle = this.data.orderDetail.paltProduct.name1; let goodsTitleArray = []; //为了防止标题过长,分割字符串,每行18个 for (let i = 0; i < goodsTitle.length / 18; i++) { if (i > 2) { break; } goodsTitleArray.push(goodsTitle.substr(i * 18, 18)); } const price = this.data.orderDetail.price; const marketPrice = this.data.orderDetail.marketPrice; const title1 = '您的好友邀请您一起分享精品好货'; const title2 = '立即打开看看吧'; const codeText = '长按识别小程序码查看详情'; const imgWidth = 780; const imgHeight = 1600; const canvasCtx = wx.createCanvasContext('shareCanvas'); //绘制背景 canvasCtx.setFillStyle('white'); canvasCtx.fillRect(0, 0, 390, 800); //绘制分享的标题文字 canvasCtx.setFontSize(24); canvasCtx.setFillStyle('#333333'); canvasCtx.setTextAlign('center'); canvasCtx.fillText(title1, 195, 40); //绘制分享的第二行标题文字 canvasCtx.fillText(title2, 195, 70); //绘制商品图片 canvasCtx.drawImage(goodPicPath, 0, 90, 390, 390); //绘制商品标题 yOffset = 490; goodsTitleArray.forEach(function (value) { canvasCtx.setFontSize(20); canvasCtx.setFillStyle('#333333'); canvasCtx.setTextAlign('left'); canvasCtx.fillText(value, 20, yOffset); yOffset += 25; }); //绘制价格 yOffset += 8; canvasCtx.setFontSize(20); canvasCtx.setFillStyle('#f9555c'); canvasCtx.setTextAlign('left'); canvasCtx.fillText('¥', 20, yOffset); canvasCtx.setFontSize(30); canvasCtx.setFillStyle('#f9555c'); canvasCtx.setTextAlign('left'); canvasCtx.fillText(price, 40, yOffset); //绘制原价 const xOffset = (price.length / 2 + 1) * 24 + 50; canvasCtx.setFontSize(20); canvasCtx.setFillStyle('#999999'); canvasCtx.setTextAlign('left'); canvasCtx.fillText('原价:¥' + marketPrice, xOffset, yOffset); //绘制原价的删除线 canvasCtx.setLineWidth(1); canvasCtx.moveTo(xOffset, yOffset - 6); canvasCtx.lineTo(xOffset + (3 + marketPrice.toString().length / 2) * 20, yOffset - 6); canvasCtx.setStrokeStyle('#999999'); canvasCtx.stroke(); //绘制最底部文字 canvasCtx.setFontSize(18); canvasCtx.setFillStyle('#333333'); canvasCtx.setTextAlign('center'); canvasCtx.fillText(codeText, 195, 780); //绘制二维码 canvasCtx.drawImage(qrCodePath, 95, 550, 200, 200); canvasCtx.draw(); //绘制之后加一个延时去生成图片,如果直接生成可能没有绘制完成,导出图片会有问题。 setTimeout(function () { wx.canvasToTempFilePath({ x: 0, y: 0, width: 390, height: 800, destWidth: 390, destHeight: 800, canvasId: 'shareCanvas', success: function (res) { that.setData({ shareImage: res.tempFilePath, showSharePic: true }) wx.hideLoading(); }, fail: function (res) { console.log(res) wx.hideLoading(); } }) }, 2000); },
마지막으로 그려진 렌더링을 살펴보세요.
이 기사의 사례를 읽으신 후 방법을 마스터하셨다고 생각합니다. 더 흥미로운 정보를 보려면 PHP 중국어 웹사이트의 다른 관련 기사를 주목하세요!
추천 도서:
프런트 엔드 방식을 사용하여 사진을 캐릭터 그림으로 변환JS 배열 방식을 사용하는 단계에 대한 자세한 설명위 내용은 미니 프로그램 내 사진 저장 및 친구들과 공유 기능 구현의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Quark Netdisk와 Baidu Netdisk는 매우 편리한 저장 도구입니다. 많은 사용자가 이 두 소프트웨어가 상호 운용 가능한지 묻고 있습니다. Quark Netdisk를 Baidu Netdisk에 공유하는 방법은 무엇입니까? 이 사이트에서는 Quark 네트워크 디스크 파일을 Baidu 네트워크 디스크에 저장하는 방법을 사용자에게 자세히 소개합니다. Quark Network Disk에서 Baidu Network Disk로 파일을 저장하는 방법 방법 1. Quark Network Disk에서 Baidu Network Disk로 파일을 전송하는 방법을 알고 싶다면 먼저 Quark Network Disk에 저장해야 하는 파일을 다운로드한 다음 엽니다. Baidu 네트워크 디스크 클라이언트에서 압축 파일을 저장할 폴더를 선택한 다음 두 번 클릭하여 폴더를 엽니다. 2. 폴더를 연 후 창 왼쪽 상단에 있는 "업로드"를 클릭하세요. 3. 컴퓨터에 업로드해야 하는 압축 파일을 찾아 클릭하여 선택합니다.

1. 먼저 NetEase Cloud Music에 들어간 다음 소프트웨어 홈페이지 인터페이스를 클릭하여 노래 재생 인터페이스로 들어갑니다. 2. 그런 다음 노래 재생 인터페이스에서 아래 그림의 빨간색 상자에 표시된 것처럼 오른쪽 상단에서 공유 기능 버튼을 찾아 공유 채널에서 공유 채널을 선택하고 다음 위치에서 "공유 대상" 옵션을 클릭합니다. 하단에서 첫 번째 "WeChat Moments"를 선택하면 WeChat Moments에 콘텐츠를 공유할 수 있습니다.

최근 Baidu Netdisk Android 클라이언트는 새로운 버전 8.0.0을 선보였습니다. 이 버전은 많은 변화를 가져올 뿐만 아니라 많은 실용적인 기능도 추가했습니다. 그 중 가장 눈길을 끄는 것은 폴더 공유 기능 강화다. 이제 사용자는 쉽게 친구를 초대하여 업무와 생활에서 중요한 파일을 공유하고 더욱 편리하게 협업하고 공유할 수 있습니다. 그렇다면 친구들과 공유해야 하는 파일을 어떻게 공유합니까? 아래에서 이 사이트의 편집자가 자세한 소개를 해줄 것입니다. 1) Baidu Cloud 앱을 열고 먼저 홈페이지에서 관련 폴더를 클릭한 다음 인터페이스 오른쪽 상단에 있는 [...] 아이콘을 클릭합니다(아래 참조). 2) 그런 다음에서 [+]를 클릭합니다. "공유 멤버" 열 ]을 선택하고 마지막으로 모두 확인합니다.

Douyin은 중국에서 가장 인기 있는 단편 비디오 플랫폼 중 하나로서 수많은 사용자와 팬을 끌어 모았습니다. TikTok에서는 팬과 친구에 대한 이야기를 자주 듣습니다. 하지만 TikTok 팬과 친구의 차이점이 무엇인지 아시나요? 이 질문에 대해서는 아래에서 자세히 답변해 드리겠습니다. 1. 두인팬과 친구의 차이점은 무엇인가요? TikTok에서 팬은 귀하의 콘텐츠에 관심이 있고 귀하를 팔로우하기로 선택한 사람들입니다. 그들은 좋아요, 댓글 등을 통해 귀하와 상호 작용하여 가상 연결을 구축합니다. 반면에 친구란 실생활에서 서로를 알고 실제적인 사회적 관계를 맺고 있는 사람들입니다. Douyin과 같은 소셜 플랫폼에서는 팬과 친구 간의 상호 작용 스타일과 깊이가 다를 수 있지만 모두 소셜 네트워크를 구축하고 유지하는 데 중요한 요소입니다. 팬 수는 귀하의 계정을 팔로우하는 사람들을 나타냅니다.

WeChat 미니 프로그램에서 카드 뒤집기 효과 구현 WeChat 미니 프로그램에서 카드 뒤집기 효과를 구현하는 것은 사용자 경험과 인터페이스 상호 작용의 매력을 향상시킬 수 있는 일반적인 애니메이션 효과입니다. 다음은 WeChat 애플릿에서 카드 뒤집기 효과를 구현하는 방법을 자세히 소개하고 관련 코드 예제를 제공합니다. 먼저, 미니 프로그램의 페이지 레이아웃 파일에 두 개의 카드 요소를 정의해야 합니다. 하나는 앞면 내용을 표시하기 위한 것이고 다른 하나는 뒷면 내용을 표시하기 위한 것입니다. <--index.wxml- ->&l

win7 enterprise edition의 최신 활성화 키가 있습니까? 공식 win7 enterprise 버전을 설치하면 windows7 enterprise 제품 키로 활성화하라는 메시지가 표시됩니다. 그렇지 않으면 제대로 작동하지 않습니다. 따라서 편집자는 몇 가지 win7 엔터프라이즈 버전 활성화 비밀번호를 공유할 것입니다. 살펴보겠습니다. Q3VMJ-TMJ3M-99RF9-CVPJ3-Q7VF3KGMPT-GQ6XF-DM3VM-HW6PR-DX9G8MT39G-9HYXX-J3V3Q-RPXJB-RQ6D79JBBV-7Q7P7-CTDB7-KYBKG-X8HHCP72QK-2Y3B8-YDHDV-29DQB-QKWW M6JQ

Mango TV에는 다양한 유형의 영화, TV 시리즈, 예능 프로그램 및 기타 리소스가 있으며 사용자는 자유롭게 선택하여 시청할 수 있습니다. Mango TV 회원은 모든 VIP 드라마를 시청할 수 있을 뿐만 아니라 사용자가 드라마를 즐겁게 시청할 수 있도록 최고 화질을 설정할 수 있습니다. 아래에서 편집자는 사용자가 사용하고 서둘러 살펴볼 수 있도록 무료 Mango TV 멤버십 계정을 제공합니다. 구경하다. Mango TV 최신 회원 계정 무료 공유 2023: 참고: 이것은 최근 수집된 회원 계정이며 로그인하여 직접 사용할 수 있으며 비밀번호를 마음대로 변경하지 마십시오. 계좌번호: 13842025699 비밀번호: qds373 계좌번호: 15804882888 비밀번호: evr6982 계좌번호: 13330925667 비밀번호: jgqae 계좌번호: 1703

10월 31일 이 사이트의 소식에 따르면 올해 5월 27일 Ant Group은 '한자 선택 프로젝트'를 시작한다고 발표했으며 최근 새로운 진전을 보였습니다. Alipay는 '한자 선택 - 흔하지 않은 문자' 미니 프로그램을 출시했습니다. 희귀 캐릭터는 희귀 캐릭터 라이브러리를 보완하고 희귀 캐릭터에 대한 다양한 입력 경험을 제공하여 Alipay의 희귀 캐릭터 입력 방법을 개선하는 데 도움을 줍니다. 현재 사용자는 "한자픽업", "희귀문자" 등의 키워드를 검색하여 "특수문자" 애플릿에 진입할 수 있습니다. 미니 프로그램에서 사용자는 시스템에서 인식 및 입력되지 않은 희귀 문자의 사진을 제출할 수 있으며 확인 후 Alipay 엔지니어가 글꼴 라이브러리에 추가 항목을 작성합니다. 이 웹사이트에서는 미니 프로그램에서도 최신 문자 분할 입력 방식을 경험할 수 있다고 밝혔습니다. 이 입력 방식은 발음이 불분명한 희귀 문자를 위해 설계되었습니다. 사용자 해체
