如何用网页绘制一个黑莓9900的键盘效果图

embedded/2024/10/30 19:22:41/

如何用网页绘制一个黑莓9900的键盘效果图

入了几个黑莓蓝牙键盘,出于喜好,想做一个跟实体键盘一模一样的网页界面。

最终的实现效果是这样的:

在线查看:http://kylebing.cn/tools/bb-keyboard 点击上面四个按键显示不同模型界面
github(设计文件和源码):https://github.com/KyleBing/blackberry-keyboard

在这里插入图片描述

一、实现方式

1. 先做一个横竖笔直的键盘界面

正好前面也做了两个:黑莓Q10 黑莓Q20 的界面:
在这里插入图片描述
在这里插入图片描述

2. 黑莓9900 需要做的就是把键面调弯

先将键盘几个横线做出来,这里全部图片都采用 SVG,下面是在 Sketch 里画的。
这几个线的弧度是不同的,所以需要四根线。

在这里插入图片描述

然后 将界面中的每个键上下调整到合适位置,这里我写了一个数组,表示每个键的上下 offset

// 键盘布局
const PositionMapArray = [{offset: -30, dividerOffset: -25, keyPos: [0.7, 2.2,   3,   4, 4.8, 4.8,   4,   3, 2.2, 0.7],},{offset: -28, dividerOffset: -28, keyPos: [0, 1.6, 2.5, 3.5, 4, 4, 3.5, 2.5, 1.6, 0],},{offset: -28, dividerOffset: -22, keyPos: [0, 1,   2,   2.5, 3, 3,   2.5,   2, 1, 0],},
]

这样就实现了键盘弯曲,再将那几个横线放到上面即可。具体看源码。

二、实物图

在这里插入图片描述

三、设计图

在这里插入图片描述


http://www.ppmy.cn/embedded/9391.html

相关文章

html实现点击按钮时下方展开一句话

你可以使用 HTML、CSS 和 JavaScript 来实现点击按钮时展开一句话的效果。下面是一个简单的实现示例&#xff1a; <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta name"viewport" content&qu…

使用Spring进行文件的上传和下载

概览 使用Spring进行文件的上传和下载Spring上传文件接口设计dubbo接口设计上传文件流的RPC的接口设计 Spring文件下载接口设计dubbo接口设计下载文件流的RPC的接口设计 spring上传文件大小控制 使用Spring进行文件的上传和下载 本文主要介绍在Spring框架下面调用微服务的dubb…

2024/4/21周报

文章目录 摘要Abstract文献阅读题目问题贡献方法卷积及池化层LSTM层CNN-LSTM模型 数据集参数设置评估指标实验结果 深度学习使用GRU和LSTM进行时间预测1.库的导入&数据集2.数据预处理3.模型定义4.训练过程5.模型训练 总结 摘要 本周阅读了一篇基于CNN-LSTM黄金价格时间序列…

工业控制(ICS)---modbus

Modbus Modbus&#xff0c;市场占有率高、出题频率高,算是最常见的题目&#xff0c;因为这个协议也是工控领域最常见的协议之一&#xff0c;主要有三类 Modbus/RTU 从机地址1B功能码1B数据字段xBCRC值2B 最大长度256B&#xff0c;所以数据字段最大长度252B Modbus/ASCII …

KubeSphere中间件部署

中间件部署实战 语雀 RuoYi-Cloud部署实战 语雀 https://www.bilibili.com/video/BV13Q4y1C7hS?p79 1. 应用部署三要素 应用的部署方式&#xff08;Deployment、StatefulSet、DaemonSet&#xff09; 应用的数据挂载&#xff08;数据、配置文件&#xff09; 应用的可访…

VUE 插件收集

VsCode插件清单 中文插件 Chinese (Simplified) (简体中文) Language Pack for Visual Studio Code 代码提示 Vue 2 Snippets Vetur插件让vue文件代码高亮 Vue VSCode Snippets自动生成vue模板内容插件 LiveServer实时刷新网页 Bracket Pair Colorizer彩虹括号 Material …

volite关键字的使用说明及应用场景展示,附代码案例

在Java中&#xff0c;Volite是一个关键字&#xff0c;用于修饰变量。它表示该变量可以被多个线程访问&#xff0c;但是在访问该变量时&#xff0c;不会执行任何锁定操作。这意味着&#xff0c;多个线程可以同时读取该变量的值&#xff0c;但是不能同时对该变量进行写操作。 Vo…

Ubuntu系统下 Nvidia驱动 + cuda驱动 + CuDNN安装与卸载

Ubuntu系统下 Nvidia驱动 cuda驱动 CuDNN安装与卸载 一、NVIDIA驱动与CUDA驱动的区别二、NVIDIA驱动安装与卸载1. 查看系统内核版本2. 查看显卡型号3. 查看是否有显卡驱动4. 禁用nouveau并重启5. 卸载旧版本6. 安装&#xff11;&#xff1a;使用标准Ubuntu仓库进行自动化安装…