定制 stratadox/ascii-renderer 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

stratadox/ascii-renderer

Composer 安装命令:

composer require stratadox/ascii-renderer

包简介

Rendering engine for ascii art

README 文档

README

A tiny rendering engine for ascii art.

What is this

Ascii Renderer is made to facilitate ascii art projects by loading partial artworks and combining them into a (potentially animated) result.

What can it do

The module can load a custom file format into animations with masked frames.

By including references to potential other animations, a sort-of skeletal system can be used.

How to use it?

To load files:

use Stratadox\AsciiRenderer\FileLoader;
use Stratadox\AsciiRenderer\ImageFactory;
use Stratadox\AsciiRenderer\MaskFactory;

$loader = new FileLoader(new MaskFactory(), new ImageFactory());
$animation = $loader->load('file/name.ext');

To combine animations:

use Stratadox\AsciiRenderer\AnimationCombiner;
use Stratadox\AsciiRenderer\Combiner;
use Stratadox\AsciiRenderer\FileLoader;
use Stratadox\AsciiRenderer\ImageFactory;
use Stratadox\AsciiRenderer\MaskFactory;

$loader = new FileLoader(new MaskFactory(), new ImageFactory());
$combiner = new AnimationCombiner(new Combiner());

$animation = $combiner->combine(
    [
        'item2' => $this->loader->load('/Asset/item/kite-shield-back.txt'),
        'body' => $this->loader->load('/Asset/body/leather-jacket-walk.txt'),
        'head' => $this->loader->load('/Asset/head/default.txt'),
        'headgear' => $this->loader->load('/Asset/headgear/cap.txt'),
        'item1' => $this->loader->load('/Asset/item/axe.txt'),
    ],
    'body'
);

assert(8 === $animation->length())
assert((string) $animation->frame(0)) === <<<'EOT'
  ____       
 /   _}      
 \__/*}  ./\ 
 /~^~\--<)+))
 |(  V___|\/ 
 \\_____(| ) 
 /~~~\   |/  
 (   \   o   
  \\  ) /    
  ) \ |/     
 / /| |      
[__b[__b     
EOT
);

What do the files look like?

For example, the cap of the character above:

mask:
width: 6
height: 3
origin-x: 2
origin-y: 2

mask-frames:
1
 ....
######
####

frames:
1
 ____
/   _}
\__/

Their axe:

mask:
origin-x: 1
origin-y: 3
width: 5
height: 6

mask-frames:
1
 .##
#####
 ###
 #
 #
 #

frames:
1
 ./\
<)+))
 |\/
 |
 |
 o

For more examples, see the test assets.

stratadox/ascii-renderer 适用场景与选型建议

stratadox/ascii-renderer 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 4 次下载、GitHub Stars 达 0, 最近一次更新时间为 2021 年 12 月 15 日, 在 PHP 生态内属于活跃度较高的组件。

我们在过去多个企业项目中使用过 stratadox/ascii-renderer 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 stratadox/ascii-renderer 我们能提供哪些服务?
定制开发 / 二次开发

基于 stratadox/ascii-renderer 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 4
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 11
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: Unknown
  • 更新时间: 2021-12-15