5个版本

0.2.2 2022年6月2日
0.2.1 2022年1月6日
0.2.0 2021年7月29日
0.1.4 2021年5月4日
0.1.0 2021年2月27日

#258数据结构


8 个crate使用(5个直接使用)

MPL-2.0 许可证

430KB
6.5K SLoC

UX Primitives

API Docs Crates.io Code coverage Tests MPL-2.0 licensed Gitter chat loc

UX Primitives 是一个用于处理颜色和图形的强大库。它是 Angular Rust 框架的主要构建模块之一。这个库组织良好且易于使用。

该库提供了创建游戏和常规应用程序的基本构建模块。它包含游戏应用程序和行为定义以及基本结构。

图形应用程序(如游戏)的基本实体是颜色。这个库提供了处理颜色的足够功能,包括存储、处理和不同颜色空间之间的转换。

它还支持多种颜色方案,并包含 OpenColor 调色板,以方便和提高您应用程序的质量。

快速入门

使用 Cargo-edit 或编辑 Cargo.toml 文件将 UX primitives 添加到您的项目中

cargo add ux-primitives

基本用法

use primitives::prelude::*;

use primitives::foundation::{colorschemes::Tetrad, colorspace::HslColor};

fn main() {
    // Get Palette Color
    let base = color::TEAL_9;

    println!("Base color {}", base.to_hex_string());

    println!("Lighten {}", base.lighten(10.0).to_hex_string());

    println!("Darken {}", base.darken(10.0).to_hex_string());

    println!("Hue Adjusted {}", base.adjust_hue(90.).to_hex_string());

    println!("Complement {}", base.complement().to_hex_string());

    println!("Inverted {}", base.invert().to_hex_string());

    println!("Saturated {}", base.saturate(50.).to_hex_string());

    println!("Desaturated {}", base.desaturate(50.).to_hex_string());

    println!("Grayscale {}", base.grayscale().to_hex_string());

    let hsl: HslColor = base.into();

    println!("{} {}", base, hsl);

    // Generate color scheme
    let scheme = Tetrad::new(base);
    // You can adjust color scheme parameters before get colors
    println!();

    for idx in 0..scheme.num_of_colors() {
        match scheme.get_color(idx) {
            Some(col) => println!("Color: {}", col.to_hex_string()),
            None => println!("No color")
        }
    }
}

功能

  • UX Animate 中实现的本地和网页画布的图形抽象
  • 最常用的颜色空间:RGB、RGBA、HSL、HSV、LAB、CMY、CMYK。
  • 颜色转换:RGB 到 HSL 等。
  • 支持颜色量化,使颜色更接近调色板。
  • 调色板 Open Color(4.5千颗星)
  • 根据 色彩理论 生成颜色方案。
  • 交互式应用程序的基本特质(WIP)。

UI设计的颜色方案

UX Primitives 包含功能强大的调色板,易于使用并使您的应用程序看起来更专业。UX Primitives 使用针对 UI 优化的 Open Color 方案,例如字体、背景、边框等。

  • 所有颜色都应得到适当的利用
  • 提供UI设计的通用颜色
  • 所有颜色本身都很美且和谐
  • 在相同的亮度级别上,感知亮度将保持恒定

了解更多

社区

贡献

我们相信更广泛的社区可以编写更好的代码。提升社区的第一步是通过给它点赞来向开发者介绍项目。赞越多——成员越多。

Angular Rust 是社区共同努力的结果,我们欢迎所有背景的开发者,无论是大贡献还是小贡献。我们希望 Angular Rust 社区成为一个有趣且友好的地方,因此请阅读我们的行为准则,了解哪些行为是不能容忍的。

您是 Angular Rust 新手吗?

通过帮助我们改进文档来开始了解这个框架。欢迎改进测试覆盖率的拉取请求。

需要灵感吗?

awesome-angular-rust查看社区整理的与 Angular Rust / WebAssembly 相关的精选资源列表。

对某些内容感到困惑吗?

请随时加入我们的Gitter 聊天室或打开一个新的“问题”问题,以获得贡献者的帮助。通常问题会导致框架的易用性改进、更好的文档,甚至新功能!

准备好深入代码了吗?

在审查了贡献代码指南之后,查看“好的第一个问题”(它们都渴望得到关注!)一旦找到您感兴趣的问题,请随意为自己分配一个问题,并不要犹豫寻求指导,问题复杂度不同。

让我们互相帮助!

来帮助我们解决最重要的问题,并为您的不懈努力获得少量现金奖励。我们使用 Issuehunt 从我们的 Open Collective 资金中资助问题。如果您真的关心一个问题,您可以选择自己添加资金!

发现了一个错误?

报告所有错误! 如果他们感兴趣并且有时间,我们将很高兴帮助开发者修复他们发现的错误。

待办事项

  • 文档

依赖项

~255–355KB