微信小程序 调色板

注意:是在uniapp中直接使用的一个color-picker插件,改一下格式即可在微信小程序的原生代码中使用

https://github.com/KirisakiAria/we-color-picker

这是插件的地址,使用的话先把这个插件下载下来,找到src,在项目创建一个文件夹,把src中的内容拷进去,然后调这个就可以了,具体的话看微信开发如何调用插件

<template>
	<div id="colorP">
		<color-picker
		    class="color-picker"
		    :colorData="colorData"
		    :rpxRatio="rpxRatio"
		    @changecolor="onChangeColor"
		  />
	</div>
	<button @click="onChange">确定</button>
</template>

<script setup>
import { ref, onMounted } from 'vue';
import { setStorage } from '../../utils/storageUtil';
import { goback } from '../../utils/miniapp_utils';

const colorData = ref({
  // 基础色相相关数据
  hueData: {
    colorStopRed: 255,
    colorStopGreen: 0,
    colorStopBlue: 0
  },
  // 选择点相关数据
  pickerData: {
    x: 0,
    y: 480,
    red: 0,
    green: 0,
    blue: 0,
    hex: '#000000'
  },
  // 色相控制条位置数据
  barY: 0
});

const rpxRatio = ref(1);

onMounted(() => {
  wx.getSystemInfo({
	  success(res) {
		  rpxRatio.value = res.screenWidth / 750
	  }
  })
});

function onChangeColor(e) {
  colorData.value = e.detail.colorData;
}

function onChange(){
	const colorX = colorData.value.pickerData
	const color = {
		r:colorX.red,
		g:colorX.green,
		b:colorX.blue
	}
	console.log("颜色为:",color)
	// 将值保存到缓存中
	setStorage("background",color)
	//返回
	goback()
}

</script>
<style >
#colorP {
	display: flex;
	justify-content: center;
}
</style>

我这是uniapp vue3版本的,微信小程序版本的github上已经有了,照着写就可以

  • 9
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在 SwiftUI 中自定义调色板,你可以使用 `GridView` 和 `Color` 结合创建一个自定义的调色板视图。下面是一个示例代码: ```swift import SwiftUI struct ColorPaletteView: View { let colors: [Color] = [.red, .orange, .yellow, .green, .blue, .purple] @Binding var selectedColor: Color var body: some View { VStack { Text("Select a color:") .font(.headline) .padding() GridView(columns: 3, items: colors) { color in Circle() .fill(color) .frame(width: 50, height: 50) .onTapGesture { selectedColor = color } } } } } struct ColorPaletteView_Previews: PreviewProvider { static var previews: some View { ColorPaletteView(selectedColor: .constant(.red)) } } ``` 在上面的代码中,我们创建了一个名为 `ColorPaletteView` 的视图,该视图接受一个包含颜色的数组和一个绑定变量 `selectedColor`。`selectedColor` 用于保存用户选择的颜色。 在 `body` 属性中,我们使用 `VStack` 创建一个垂直方向的容器,并添加一个文本标签作为标题。 然后,我们使用 `GridView` 自定义的网格视图来显示调色板。`GridView` 是一个自定义的视图,它接受两个参数:列数和要显示的项目数组。我们将列数设置为 3,并将颜色数组传递给 `items` 参数。 在每个格子中,我们使用 `Circle` 视图来显示颜色。当用户点击某个颜色时,我们通过添加 `onTapGesture` 修改 `selectedColor` 的值为当前的颜色。 最后,在 `ColorPaletteView_Previews` 中可以预览 `ColorPaletteView` 视图。 你可以根据需要自定义调色板的外观和布局。这只是一个简单的示例,你可以根据自己的需求进行修改和扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值