微信小程序实现图片处理小工具的示例代码
作者:失散多年的哥哥 发布时间:2024-07-23 04:31:56
标签:小程序,图片,处理
一、项目展示
这是一款实用的工具型小程序
共有滤镜、效果图和动态滤镜三个功能
用户可以选择想要处理的图片,设置模糊、怀旧、复古、美白以及其他效果
同时程序还增设了效果图功能
用户可以自行调整饱和度、亮度和对比度
此外程序还有动态效果图的功能
二、滤镜
滤镜功能设置了四个效果
模糊、怀旧、复古和美白
点击还原即清除所有增设的滤镜
用户可以点击选择照片上传照片
//照片上传的代码
takephoto:function(){
var self = this;
wx.chooseImage({
count: 1, // 最多可以选择的图片张数,默认9
sizeType: ['original', 'compressed'], // original 原图,compressed 压缩图,默认二者都有
sourceType: ['album', 'camera'], // album 从相册选图,camera 使用相机,默认二者都有
success: function(res){
self.setData({
// picArray:res.tempFilePaths
pic:res.tempFilePaths
});
wx.setStorageSync('img', res.tempFilePaths)
console.log(res);
}
})
},
<!--picture.wxml-->
<view class="addpicture">
<image class="{{addblur == 1 ? 'addblur':''}}{{oldEffect == 1 ?'oldeffect':''}} {{addretro == 1 ?'addretro':''}}{{addBeati == 1 ? 'addBeati':''}} img " mode="aspectFit" src="{{pic}}"></image>
<view class="effectview">
<button class="btn" bindtap="addblur">模糊</button>
<button class="btn" bindtap="addOld">怀旧</button>
<button class="btn" bindtap="addretro">复古</button>
<button class="btn" bindtap="addBeati">美白</button>
</view>
<button bindtap="originpic" class="mid">还原</button>
<button bindtap="takephoto" class="foot">选择照片</button>
</view>
<!--picture.wxss-->
.addpicture{
display: flex;
flex-direction: column;
width:100%;
height: 1500rpx;
}
.foot{
display: flex;
margin-top:3%;
width: 80%;
height: 80rpx;
flex-direction: column;
align-items: center;
justify-content: center;
color: white;
background-color: #faa770;
}
.foot::after{
border-width: 0;
}
.img{
width: 100%;
}
.addblur {
filter: blur(6px);
}
.btn {
display: flex;
align-items: center;
justify-content: center;
width:20%;
height:70rpx;
font-size:14px;
}
.effectview {
margin-top: 3%;
width: 100%;
display: flex;
flex-direction: row;
justify-content: space-around;
}
.mid{
display: flex;
align-items: center;
justify-content: center;
margin-top: 3%;
width: 80%;
height: 80rpx;
color:white;
background-color: #757F9A;
}
.mid::after{
border-width: 0;
}
.oldeffect {
filter: sepia(.5);
}
.addretro {
filter: grayscale(1);
}
.addBeati {
filter: brightness(130%);
}
滤镜效果如下:
三、效果图
效果图功能下
用户可以自行调整图片的饱和度、亮度和对比度
//调整代码
baohedu: function (e) {
var self = this;
self.setData({
saturate: e.detail.value
});
},
liangdu: function (e) {
var self = this;
self.setData({
brightness: e.detail.value
});
},
duibidu: function (e) {
var self = this;
self.setData({
contrast: e.detail.value
});
},
效果如下:
四、动态滤镜
动态滤镜将直接生成动态的图片效果
核心代码如下:
动态变化效果
.pic {
margin-top: 20px;
width: 100%;
}
@keyframes picAnamiton {
0% {
filter: grayscale(.5) blur(1px) saturate(2);
}
100% {
filter: grayscale(.2) blur(6px) saturate(9);
}
}
.picanmaion {
animation-name: picAnamiton;
animation-duration: 2s;
animation-iteration-count: 10;
animation-direction: alternate;
animation-timing-function: ease-in-out;
animation-fill-mode: forwards;
animation-delay: 0s;
}
最终效果如下:
来源:https://blog.csdn.net/ws15168689087/article/details/125356342


猜你喜欢
- SQL Server 2008的独到之处:安装SQL Server 2008的设置和安装也有所改进。配置数据和引擎位已经分开了,所以它使创建
- 开发目的这算是node应用的第二个小应用吧,主要目的是熟悉node和express框架。原理很简单:在node搭建的环境下引用第三方包处理图
- 最近身体不适,所以没能如期的更新,抱歉。这里直接把代码贴上,如果有不明白的地方,留言就行。<!DOCTYPE html PUBLIC
- 主要记录一下:图片验证码1.获取登录界面的图片2.获取验证码位置3.在登录页面截取验证码保存4.调用百度api识别(目前准确率较高的识别图片
- 快速掌握 Mysql数据库对文件操作的封装在查看Mysql对文件的操作中,它在不同的操作系统上对文件的操作,除了使用标准C运行库函数,包括o
- pandas是什么?是它吗?。。。。很显然pandas没有这个家伙那么可爱。。。。我们来看看pandas的官网是怎么来定义自己的:panda
- Python之所以这么流行,是因为它不仅能够应用于科技领域,还能用来做许多其他学科的研究工具,绘制地图便是其功能之一。今天我们用matplo
- 多数应用场景下,我们需要对重要数据进行备份、并放置到一个安全的地方,以备不时之需。常见的 MySQL 数据备份方式有,直接打包复制对应的数据
- 本文实例讲述了Python使用文件锁实现进程间同步功能。分享给大家供大家参考,具体如下:简介在实际应用中,会出现这种应用场景:希望shell
- 如下所示:from pandas_datareader import data, wbfrom datetime import dateti
- 自从看了蒋鑫的《Git权威指南》之后就开始使用Git Submodule功能,团队也都熟悉了怎么使用,多个子系统(模块)都能及时更新到最新的
- 一、技术路线requests:网页请求BeautifulSoup:解析html网页re:正则表达式,提取html网页信息os:保存文件imp
- 网站中很多表单都会用到上传图片,logo,照片,用户也会上传图片,这个时候网站就需要一个上传图片的功能,而且在上传后希望能预览一下看上传的对
- 1.子查询概念 (1)就是在查询的where子句中的判断依据是另一个查询的结果,如此就构成了一个外部的查询和一个内部的查询,这个内部的查询就
- 一、简介time模块提供各种操作时间的函数说明:一般有两种表示时间的方式:第一种是时间戳的方式(相对于1970.1.1 00:00:00以秒
- 人口普查人口数量变化图1 第七次人口普查不同省份总人口import pandas as pdfrom collections import
- 运算符的优先级和关联性运算符的优先级和关联性: 运算符的优先级和关联性决定了运算符的优先级。运算符优先级这用于具有多个具有不同优先级的运算符
- Html:<!doctype html><html><head><meta charset=&qu
- 下面是我们插入到这个tuangou表的数据: id web city type 1 拉手网 北京 餐饮美食 2 拉手网 上海 休闲娱乐 3
- 假如你用SQL2005做一个数据库备份,然后把这个备份到装有SQL2000的服务器去恢复,是恢复不了,同样,你把SQL2005数据库附加到S