最近准备做一个相机APP,主打功能是实现文字及图片水印

添加文字 添加图片 添加特效

选择模板

进入拍照主页,会选择相应模板进行拍照,模板分为普通模板及vip模板,vip模板只能vip用户使用,普通的0积分模板可以任意使用

添加文字

进入添加文字弹出框,输入文字位置,对齐方式,自定义字体,然后确定
其中,文字可选择类型,时间/地点

添加图片

进入添加图片弹出框,输入图片位置,对齐方式,自定义字体,然后确定

添加特效

点击添加特效按钮,弹出特效添加弹窗,支持马赛克,画笔,矩形,圆,平铺水印,全局水印,黑白,亮度,对比度,色调,

使用模板

点击相应模板,将在web目录寻找该模板是否存在,如果存在,则向服务器请求模板使用次数,服务器扣除一次积分,为了防止重复提交,服务器保存客户端上传上来的最后一次提交的时间戳,如果时间戳一致,则不扣除积分,为了避免被破解,服务器会记录一个服务器时间戳进行比对,如果这个时间戳超过60秒则失效。

保存模板

将模板保存到本地,为了和网络模板区分,本地的模板保存到user文件夹,网络模板保存到web文件夹

上传模板

用户可上传自定义的模板,上传成功并通过审核后获得5积分奖励,积分可用于使用自定义水印。
区分普通模板及vip模板,由后台自定义

会员登陆系统

后期计划加入会员登陆 每天可签到领积分,

积分规则

会员可无视积分任意使用一个月,无会员使用积分
每日签到,分别获得1 2 6 8 12 积分,积分可用于使用模板,每使用一次模板扣除相应积分(使用只在进入模板的时候扣除)
使用自己定制的模板不消耗积分,为了防止被破解,自己定制的模板在使用时将检测文件md5,这个md5信息保存在key.json中,编辑完成之后,每次保存模板将更新key.json
模板使用量越大,消耗的积分越多(后台设置),计划模板的积分消耗在1到5积分之间

服务器数据结构设计

用户系统:记录用户手机号,昵称,邮箱,android_id,ios_udid,手机型号,系统版本,注册时间,最后一次app请求时间戳,最后一次服务器处理时间戳,注册ip,最后一次登陆ip
模板系统:记录模板积分,是否为vip模板,模板使用量,模板图标,模板名称,模板zip文件路径,模板作者,模板说明,是否展示,是否推荐,创建时间

模板结构设计

key.json 用于本地模板检测,防止破解
mainifest.json 用于配置模板使用到的权限(比如使用系统时间,联网,获取用户昵称,获取用户手机号,获取用户邮箱,获取天气,获取地区,获取当前地址)及入口json 里面可以记录模板版本,作者,发布日期,说明,图标等
init.json 生成模板用到的json文件
.ttf 字体文件
.png 水印图片文件
关于联网,在mainfest.json里配置要下载的图片路径,每次选择这个模板都需要预下载图片,下载之后将图片保存到相应路径下,以实现实时效果的水印,比如一些特殊的文字之类

后期功能

图片分享:可以展示用户发布的照片
图片制作:可以嵌入一个简单的图片制作工具
图片裁剪:给图片提供一个简单的裁剪功能
选择图片:可以直接选择图片进行制作
拼图:图片拼接,自由拼图,截屏无缝合成,字幕合成图片
图片模糊:将一张图片变模糊
壁纸精选:提供一些好看的壁纸
文字加背景:支持文字背景图
视频水印:支持给视频加水印
二维码:支持生成个性二维码

发表评论

邮箱地址不会被公开。 必填项已用*标注