• Stars
    star
    194
  • Rank 200,219 (Top 4 %)
  • Language
    JavaScript
  • License
    GNU General Publi...
  • Created almost 5 years ago
  • Updated 9 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

😷 为你的头像加上口罩 微信搜索“我要戴口罩”

我要戴口罩

😷 珍爱生命,从我做起

采用微信小程序编写 实现了为头像戴上口罩的功能

基于 jasscia/ChristmasHat,在其上进行了魔改。

扫码预览

小程序截图

小程序技术实现(摘自 jasscia/ChristmasHat

程序结构

  • image (在此放置所有圣诞帽的素材)
  • pages (包含了 index imageeditor combine 文件夹,每个文件夹中都有四个文件,后缀名分别为 .js .json .wxss .wxml)
    • index (第一步:选择底图,程序设计三个底图来源 即微信头像、相机、相册)
    • imageeditor(第二步:实现选择圣诞帽 并通过移动和旋转调整圣诞帽的大小和位置)
    • combine(第三步:将底图和调整后的圣诞帽合成新的图片 并保存至微信相册)
  • app.js
  • app.json
  • app.wxss
  • project.config.json

核心算法介绍

  • 核心算法 1:怎么实现 帽子的实时转动
    • 当 touchstart 时,保存此时的 touch 起始点,并以此时的底图和帽子位置作为旋转角度和缩放比例值计算的参考点
    • 当 touchmove 时,根据起始点 和 临时的终止点 计算在 x/y 方向上的移动距离,计算参考点分别 加上这个距离,得到移动后的位置,通过移动前后的位置 计算移动前后位置的变动 计算旋转角和缩放比例
    • 当 touchend 时,重置底图和帽子的位置及旋转角和缩放比例
  • 核心算法 2:怎么实现 合成图片(利用 canvas)
    • 首先绘制底图(根据屏幕大小、图片大小计算左上角和右下角坐标)
    • 绘制帽子(计算最终帽子的大小及中心位置 旋转角度,移动画布原点到帽子的中心位置,旋转画布 并绘制帽子)

项目依赖

More Repositories

1

NJU-Review-Materials

📝 南哪课程复习资料 Review materials for NJU
C
735
star
2

Easy-to-RSS

🚀 Chrome/Firefox Extension to retreive RSS feeds URLs from WebSite, RSSHub supported
JavaScript
435
star
3

Love-Gift

💌 A love gift for my ex-girlfriend.
CoffeeScript
323
star
4

Life-in-NJU

🏠 南哪指南—南哪大学网址导航
CSS
204
star
5

UniTypecho

🎉 多平台 Typecho 移动应用解决方案 可打包为 APP/小程序
CSS
138
star
6

zhuye_kim_HTML

🏠 仿zhuye.kim的主页导航 written in Pure HTML
HTML
123
star
7

GitHub-Star-Counter

✨An API to count a GitHub user's total stars, working with shield.io.
TypeScript
89
star
8

Merger-Plus

💸一键从电脑/手机跳转至支付宝/微信支付的能力,帮助个人开发者完成打赏功能实现。
HTML
80
star
9

clover

🍀My typecho blog theme based on bootstrap 4.
PHP
77
star
10

Caritas-APP

Dart
56
star
11

Easy-to-Download

🔖可轻松配置的APP下载页&南哪课表官网
HTML
49
star
12

Random-Homepage

🍨 My home website based on Genetic Algorithms.
JavaScript
47
star
13

NJU-Class-Shedule-Android

🍻 南哪课表APP
Java
44
star
14

AISummary-Typecho

🤖📝 为Typecho博客生成AI摘要吧!
PHP
30
star
15

RSS-OPML-to-Markdown

🎁 Convert RSS OPML file to Markdown - easy to read and share
Python
18
star
16

Covid-19-Map

新冠疫情地图,可使用iframe调用
Vue
14
star
17

Sth-Matters-Audio

13
star
18

Another-Typecho-Like-Plugin

❤️ Another Typecho Like Plugin.
PHP
12
star
19

Fxxk-NJU-Class-Evaluator

🎄南哪大学课程评估自动化脚本/A script to help auto-evaluate NJU classes.
HTML
12
star
20

NJU-Thesis-Word

南京大学本科毕业论文 Word 模板
12
star
21

Homepage

📪 idealclover 的新个人主页,基于 Astro 和 Tailwind CSS 构建。灵感来自于 bento.me
Astro
12
star
22

Wear-Bachelor-Cap

🎓️毕业季,为头像戴上学士帽吧!微信搜索“毕业帽头像生成”
JavaScript
12
star
23

MomentLetter

✉️ A Moment Letter / 时光信笺: A Flutter APP
Dart
9
star
24

Flutter-Foundation

My flutter-based app framework.
Dart
5
star
25

OhMyRBQBot

😈 A telegram bot for sending cat pictures, written in Golang. Have fun!
Go
4
star
26

idealclover

4
star
27

Resume-Builder

📝My Resume Builder
HTML
4
star
28

Slides

🤔 辣鸡翠翠的在线 PPT
HTML
3
star
29

NJU-Homework

🗑️ The bad codes written for NJU homework.
C++
1
star