惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

H
Help Net Security
Scott Helme
Scott Helme
爱范儿
爱范儿
WordPress大学
WordPress大学
博客园 - 三生石上(FineUI控件)
阮一峰的网络日志
阮一峰的网络日志
博客园 - Franky
V
V2EX
腾讯CDC
博客园_首页
博客园 - 司徒正美
酷 壳 – CoolShell
酷 壳 – CoolShell
T
Tailwind CSS Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
小众软件
小众软件
J
Java Code Geeks
大猫的无限游戏
大猫的无限游戏
月光博客
月光博客
Microsoft Azure Blog
Microsoft Azure Blog
B
Blog
雷峰网
雷峰网
Stack Overflow Blog
Stack Overflow Blog
IT之家
IT之家
罗磊的独立博客
Recorded Future
Recorded Future
博客园 - 聂微东
O
OpenAI News
S
Secure Thoughts
Hacker News: Ask HN
Hacker News: Ask HN
S
Schneier on Security
Hacker News - Newest:
Hacker News - Newest: "LLM"
Y
Y Combinator Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
Project Zero
Project Zero
宝玉的分享
宝玉的分享
K
Kaspersky official blog
N
Netflix TechBlog - Medium
T
The Exploit Database - CXSecurity.com
Google Online Security Blog
Google Online Security Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Webroot Blog
Webroot Blog
云风的 BLOG
云风的 BLOG
Simon Willison's Weblog
Simon Willison's Weblog
C
Check Point Blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
L
LINUX DO - 热门话题
美团技术团队
L
Lohrmann on Cybersecurity

设计

吐槽:为什么网上大多数时间戳转换工具网站都那么难用?又冗余又复杂 - V2EX 我如何用 AI · 网站设计 播播鸡 ✕ 元宝 开发了一个可以将图片转换为像素艺术的小工具 我的 Hugo 主题更新到 2.0 了 V2EX 主题设计大赛 New York $V2EX Token Concept DexScreener 网站的设计挺不错的 V 友有设计师么 [有奖问卷] 帮帮孩子的设计课!参与桌面收纳模块调查,赢 10 元红包/产品 Demo 搭建了个生活权益小程序,求宝贵建议! 想做一个 app 但是不懂设计,有什么好的工具推荐 有人搞了一个给照片加胡子的在线 AI 工具, 挺好玩的 draw.io 的创新用途 做了一个给图片添加矢量描边的 Figma 插件 - V2EX 有没有懂设计的,百度地图这个是对 less is more 的高级理解吗? AI 设计工具生成的页面要导入到 Figma、MasterGo、Pixso 等接着编辑,试试这个 iOS 产品设计:为什么国内大厂的输入框换行要隐藏在菜单里面, Return 设计为发送,然后输入框右边还有一个发送按钮 Elementary OS 的图标设计指南里的例图用的是什么工具? 88x31 badges by Louie Mantia 马上五一节都要开始做与五一有关的活动或则 PPT 文档了,这里收集了大量关于五一节的 PPT 模板,选好模板直接套文字就可以。 请问一下大家学设计有什么推荐的信息流 AI 跟艺术能碰撞出什么火花? 大家有推荐开发人员入门快的原型设计工具吗? 一个小而美的作品集网站 时间感知工具,专业工作者必备!正式公测,一年专业版派送中~ - V2EX deepseek 的 logo 有意思,包含了有 2 条鱼/2 个眼神 设计了两个弹性长度数字编码,可以灵活地编解码数字以便高效传输 室内设计师们都用什么软件?效果图,安装图/施工图,🙏 推荐一款字体搭配 txt.dev · 一个很精致有趣的设计 - V2EX AI 设计神器 Recraft 有没有人关注一些硬件的设计 不是设计师,但有时候有些简单的 P 图,抠图之类的工作或制作一些小海报,有什么推荐的软件吗? - V2EX 全干工程师怎么入门 UI 设计 - V2EX 1024,送你们两张图片吧 - V2EX 为什么很多 ui 的背景设计不使用纯白? 而是使用 fafafa ? 偏执的工程师思维,是不是设计不好一个产品特性?因为他总是用数学上的解 描述这个世界。 独立开发日记:一个删除交互的思考和设计 hitu 现在什么情况了呢?打不开了? photoshop2024 出现一个白色无法关闭? 分享一个 Figma 插件,设计师抄作业神器,可以导入任意网页到 Figma 里继续编辑 有什么好的笔记软件方便生成图片的么? 最近一直在找在学各种前端框架,现在我决定重新复习 HTML+CSS 欢迎大家来评价一下这个 debug 工具 如今还有哪些交互方式令人眼前一亮? 一个好的简约博客大概是什么样的呢? - V2EX V 友们有没有原型组件和模板分享的啊
当用计算机思维进行 Logo 设计时? - 思考过程 | D2Learn 开源社区
Sunrisepeak · 2024-09-24 · via 设计

🐼🐳暂时没搞懂怎么加图片, 就先引用一下自己知乎上的图片🐱🐶


最近在 github 上创建了一个d2learn 社区, 于是就想着怎么也得搞个 Logo 吧, 于是结合社区背景设计了如下 Logo

这个 logo 初看, 可能看不出什么。但是如果给一个提示: 二进制。那么我相信很多有一些计算机背景的同学, 肯定就能猜到这个 logo 的设计思路了 —— 二进制 + ASCII 码。下面就来详细的介绍一下 D2Learn Logo 和其动画的创作过程

由于 d2learn 是一个关于技术知识分享、学习、交流的开源社区。所以 logo 设计的时候希望体现一定的技术背景并且一定程度的能表达 d2learn, 这样就有了大体框架

  • 用二进制做技术背景表达
  • 把 d2learn 含义直接或间接的融入 Logo

从文字到图案 - 二进制和 ASCII 码

这样我们就能很容易把 d2learn 或其中的几个字母通过 ASCII 转成对应的二进制

d2learn
01100100 00110010 01101100 01100101 01100001 01110010 01101110

或许可以换个排序方式?

01100100 // d
00110010 // 2
01101100 // l
01100101 // e
01100001 // a
01110010 // r
01101110 // n

似乎有点"图案"的感觉了

起初也差点就想把 0 和 1 的颜色调一下就当做社区 logo 的, 但想了想是不是有点太直白了点?

同时也想到了 0 和 1 与颜色中黑与白似乎是对应的, 这样就可以把 0 用黑色表示, 1 用白色表示就能自然的形成一个图案了

这样看起来就感觉有点哪个意思了, 但还是单调了点。或许可以把白色换成天蓝色(青-CYAN)似乎更有科技感一点?

到这 基本这里 图案也有了、含义也有了、但似乎还是缺少了一点“艺术性”?

融入色彩艺术

由于一个字节由 8 个 bit 位组成, 但是 ACSII 码的最高位都是 0, 并且 d2learn 也是 7 个字母。这就导致 Logo 的实际大小是 7x7 。在这种情况下如果要突出 8 这个数字或者显式一点 8bit 的含义就是把 7x7 扩展到 8x8 。

为了不破坏图案, 或许可以给已经形成的图案加一个底座, 并且底座必须要 8bit 都要点亮才符合我们的期望, 这里的难点就变成了底座的颜色选择了

如果采用一种颜色会不会感觉太单调? 如果采用多色那又选择哪些颜色呢?

能不能把“所有颜色”都融入这个 logo 里呢? 这个时联想到先前的白色、色散、光谱色(彩虹色)。这样就恰到好处 [红、橙、黄、绿、青、蓝、紫] + 白 正好是 8 种颜色。这样我们 logo 底盘的 8 个 bit 位就可以用这些颜色点亮了, 也就形成了最开始的 logo 图案

并且黑色也作为背景色没有缺席

Logo 动画生成

使用 8x8 的像素面板, 然后从上到下依次控制像素的显示

  • bit 为 1 的像素: 执行 FadeIn 动画
  • bit 为 0 的像素: 执行 FadeOut 动画

最后形成的效果就有点 Terminal 控制终端闪烁的输入提示符一样, 一个一个的输入像素的感觉...

动画生成代码

#include <vector>

#include "hanim.h"


using namespace hanim;

const static int THICKNESS_240P = 1;
const static int THICKNESS_480P = 2;
const static int THICKNESS_1080P = 4;

const static int THICKNESS = THICKNESS_480P; // THICKNESS_1080P;

static std::vector<std::vector<bool>> d2learnLogoMap {
    {0,1,1,0,0,1,0,0}, // d
    {0,0,1,1,0,0,1,0}, // 2
    {0,1,1,0,1,1,0,0}, // l
    {0,1,1,0,0,1,0,1}, // e
    {0,1,1,0,0,0,0,1}, // a
    {0,1,1,1,0,0,1,0}, // r
    {0,1,1,0,1,1,1,0}  // n
};

struct D2LearnLogo : public Scene {
    virtual void timeline() override {
        auto logo = PixelPanel();
        logo.stroke_color(HColor::BLACK);
        logo.scale(2);
        //play(Create(logo));
        for (int i = 0; i < 7; i++) {
            for (int j = 0; j < 8; j++) {
                if (d2learnLogoMap[i][j]) {
                    play(FillColor(logo[i][j], HColor::CYAN), 5);
                } else {
                    play(FadeOut(logo[i][j]), 5);
                }
            }
        }
        play(FillColor(logo[7][0], HColor::RED), 10);
        play(FillColor(logo[7][1], HColor::ORANGE), 10);
        play(FillColor(logo[7][2], HColor::YELLOW), 10);
        play(FillColor(logo[7][3], HColor::GREEN), 10);
        play(FillColor(logo[7][4], HColor::CYAN), 10);
        play(FillColor(logo[7][5], HColor::BLUE), 10);
        play(FillColor(logo[7][6], HColor::PURPLE), 10);
        play(FillColor(logo[7][7], HColor::WHITE), 10);
    }
};

int main() {
    hanim::HEngine::default_config1();
    //hanim::HEngine::set_window_size(320, 240);
    //hanim::HEngine::default_config2();
    hanim::HEngine::recorder_file_name("d2learn-logo");
    hanim::HEngine::render(D2LearnLogo());
    hanim::HEngine::save_frame_to_img("d2learn-logo.png");
    return 0;
}

动画视频

https://github.com/user-attachments/assets/03999462-5902-4e03-82e8-47289cabbe4b

Other

Logo 生成和动画完整代码

d2learn 开源社区