javascript - WeatherLine iOS 小部件背景渐变不透明度
问题描述
我正在尝试使这个可编写脚本的 iOS 小部件的背景渐变更加透明,但我不知道怎么做,而且我对 JavaScript 不熟悉。
https://github.com/italoboy/Full-Weatherline-Widget
这是我认为生成默认背景的代码,但我不知道如何编辑它以使其不那么不透明。
let gradient = new LinearGradient()
let gradientSettings = await setupGradient()
gradient.colors = gradientSettings.color()
gradient.locations = gradientSettings.position()
widget.backgroundGradient = gradient
这应该是这里调用的对应函数。
// Set up the gradient for the widget background.
async function setupGradient() {
// Requirements: sunrise
if (!sunData) { await setupSunrise() }
let gradient = {
dawn: {
color() { return [new Color("142C52"), new Color("1B416F"), new Color("62668B")] },
position() { return [0, 0.5, 1] },
},
sunrise: {
color() { return [new Color("274875"), new Color("766f8d"), new Color("f0b35e")] },
position() { return [0, 0.8, 1.5] },
},
midday: {
color() { return [new Color("3a8cc1"), new Color("90c0df")] },
position() { return [0, 1] },
},
noon: {
color() { return [new Color("b2d0e1"), new Color("80B5DB"), new Color("3a8cc1")] },
position() { return [-0.2, 0.2, 1.5] },
},
sunset: {
color() { return [new Color("32327A"), new Color("662E55"), new Color("7C2F43")] },
position() { return [0.1, 0.9, 1.2] },
},
twilight: {
color() { return [new Color("021033"), new Color("16296b"), new Color("414791")] },
position() { return [0, 0.5, 1] },
},
night: {
color() { return [new Color("16296b"), new Color("021033"), new Color("021033"), new Color("113245")] },
position() { return [-0.5, 0.2, 0.5, 1] },
},
}
const sunrise = sunData.sunrise
const sunset = sunData.sunset
// Use sunrise or sunset if we're within 30min of it.
if (closeTo(sunrise)<=15) { return gradient.sunrise }
if (closeTo(sunset)<=15) { return gradient.sunset }
// In the 30min before/after, use dawn/twilight.
if (closeTo(sunrise)<=45 && currentDate.getTime() < sunrise) { return gradient.dawn }
if (closeTo(sunset)<=45 && currentDate.getTime() > sunset) { return gradient.twilight }
// Otherwise, if it's night, return night.
if (isNight(currentDate)) { return gradient.night }
// If it's around noon, the sun is high in the sky.
if (currentDate.getHours() == 12) { return gradient.noon }
// Otherwise, return the "typical" theme.
return gradient.midday
}
我希望这里有人可以帮助我。
我发现您可以向颜色函数添加一个参数,但即使我将其设置为 0% 不透明度,它也会显得更暗。
color() { return [new Color("142C52", 0), new Color("1B416F", 0), new Color("62668B", 0)] },
解决方案
推荐阅读
- sql - Pushing Date values from R to SQL Server table with missing values
- vba - 合并多个大文件时,MergeDocuments 会静默失败吗?
- typescript - Chrome 删除 url 参数
- linux - Run a bash script to shutdown tomcat from another directory
- opencv - 从 OpenCV 中的基本矩阵“recoverPose”后正确解释姿势(旋转和平移)
- kotlin - 组合列表
> 进入 Observable - >
- javascript - 无法将 javascript 中的 json api 正确打印到 html
- cqrs - Axon- 特定类型或特定 Id 的重播事件
- c++ - 当我尝试用makefile编译我的qt程序时它不起作用
- javascript - 我在哪里可以找到 Paragraph.prototype 或如何扩展它?