• 文章
  • 分类
  • 归档
  • 友链


    • 文章
    • 归档
    • 分类
    • 友链

    优衣库短袖派上用场

    发布于 2025-07-26 随手笔记 

    最近发现优衣库出了一款Akamai短袖挺有意思的:

    image.png

    背后一堆字符,实际用AI识图并用base64解码出来是这样的:
    买了一件优衣库的T恤,大佬们看下衣服上的代码什么意思 - 搞七捻三 - LINUX DO

    #!/bin/bash
    
    # 祝贺!你找到了这个复活节彩蛋!
    
    # 定义要进行动画的文本
    text="PEACE FOR ALL PEACE FOR ALL PEACE FOR ALL PEACE FOR ALL "
    
    # 获取终端的尺寸
    cols=$(tput cols)
    lines=$(tput lines)
    
    # 计算文本的长度
    text_length=${#text}
    
    # 隐藏光标
    tput civis
    
    # 捕获 CTRL+C 信号,在退出前恢复光标
    trap "tput cnorm; exit" SIGINT
    
    # 设置动画频率的缩放因子
    freq=0.2
    
    # 无限循环,用于持续生成动画 (已修正)
    for (( t=0; ; t+=1 )); do
        # 每次循环从文本中提取一个字符
        char="${text:t % text_length:1}"
    
        # 计算角度(弧度制)
        angle=$(echo "($t) * $freq" | bc -l)
    
        # 计算该角度的正弦值
        sine_value=$(echo "s($angle)" | bc -l)
    
        # 使用正弦值计算字符的 x 坐标(水平位置)
        x=$(echo "($cols / 2) + ($cols / 4) * $sine_value" | bc -l)
        x=$(printf "%.0f" "$x")
    
        # 确保 x 坐标在终端边界内
        if (( x < 0 )); then x=0; fi
        if (( x >= cols )); then x=$((cols - 1)); fi
    
        # 计算颜色,使其在青色(12)和橙色(208)之间渐变
        color_start=12
        color_end=208
        color_range=$((color_end - color_start))
        color=$((color_start + (color_range * t / lines) % color_range))
    
        # 使用256色支持来打印带颜色的字符
        echo -ne "\033[38;5;${color}m$(tput cup $t $x)$char\033[0m"
    
        # 换行,使整个屏幕向上滚动
        echo ""
    
    done
    

    运行效果:


    甚是喜欢,于是转成了JS代码,刚好给简陋的博客添加个欢迎页~
    image.png

    就当给毛胚博客装修了一个门,哈哈…

    谢谢优衣库的彩蛋,第一个博客欢迎页留给纪念。

     上一篇: 福清印象 下一篇: 幸运记录