rx:用rust开发的一种现代而简约的像素编辑器

rx是一种可扩展,现代且极简的像素编辑器,在设计时非常谨慎,并深受艺术家和黑客的喜爱。它被认为具有尽可能少的UI,而是专注于工作。rx从vi的模态性质中汲取了灵感,围绕命令系统构建,方便好用的命令系统是同类工具中所独有的。本文虫虫给大家介绍这个用rust开发的像素编辑工具。

概述

rx是用rust语言编写的跨平台工具,可以安装在Linux,macOS和Windows上。设计目标是:

最小化。小巧,易于极客化的代码库和依赖项。编辑器应仅包括必要的内容。

美丽。干净,现代的美学风格,专注于细节。

快捷。无明显的输入延迟。在1920x1080的商用硬件上,更新和绘制时间应小于8ms。

可配置和可扩展。应该便于控制工作流程。如果不是内置的,则需要很容易就能扩展编辑器的功能。

资源高效。应尽量减少电池消耗。内存占用空间应该很小。

基于以上目标设置,rx具有下面的特征:

内置的精灵动画支持,带有实时预览功能。

同时可处理多个文件。

可扩展的命令系统。

使用简单的基于文本的语言进行配置。

HiDPI支持。

UI缩放。

撤消/重做任何编辑。

动画GIF输出。

多笔刷/同步编辑。

笔刷过滤的"像素完美"模式。

用于像素操作的可视模式。

系统要求

rx当前支持Linux,macOS和Windows。

linux

在Linux上,需要Vulkan支持。在基于debian的系统上,可以通过mesa-vulkan-drivers软件包安装驱动程序。另外,可能需要vulkan工具。

在Arch Linux上,除了驱动程序外,还需要vulkan-icd-loader。浏览此处获取更多信息。

苹果系统

在macOS上,需要Metal支持。

Windows

在Windows上,需要Vulkan支持。

安装

以下是从源代码安装。如果要下载预构建的二进制文件,请参阅下一节。

安装cargo和cmake后,运行:

cargo install \

--git https://github.com/cloudhead/rx \

--tag v0.3.0

这将下载rx的最新稳定版本,并将其安装在~/.cargo/bin/rx下。如果希望安装在其他安装位置,需要通过"--root 路径"标志指定,例如/usr/local。

在macOS上,需要Xcode和Xcode命令行工具。后者可以通过运行xcode-select --install获得。CMake可以与brew install cmake一起安装。

二进制发行包

目前,仅Linux和macOS二进制包,可以通过rx的github官方仓库下载(github:/cloudhead/rx):其最新版本分别为

linux

rx-0.3.0-x86_64.AppImage

这是一个AppImage,一个独立的应用程序。在打开它之前,使用chmod + x使它可执行。然后,可以双击或直接从终端执行它。

可将其重命名为rx并将其move到到具体路径。卸载时,只需删除文件就可以

MacOS

rx-0.3.0-x86_64.app.tar.gz

解压缩应用程序并将其移动到"应用程序"文件夹。

使用指南

为了有效地使用rx,必须了解该工具的一些基本属性。

rx是一个模式编辑器。在任何给定时间,用户都处于受支持的模式之一。每种模式都旨在执行某种类型的任务。某些任务可以以多种模式完成,并且由用户决定哪种模式最适合该任务。

rx设计为可根据用户的偏好进行配置。可以使用纯文本文件格式的rx脚本来配置其行为。

rx专注于工作。传统的用户界面已经精简到其核心元素,用以以展示作品,并将焦点集中在创作过程上。rx设计的很大一部分是为使此过程更加有趣和直观而量身定制的。

用户启动rx时,会创建一个空白视图。视图通常与文件相关联。窗口底部是状态栏,它显示有关会话和活动视图的信息。下面是命令行,用户可以在其中输入命令,在左边是调色板。

任何时候都只有一个活动视图。rx中的许多命令都在当前活动视图上运行。通过使用鼠标或其他定点设备单击视图或使用Tab键在视图之间循环来激活视图。

模式

rx具有和vim相类似的三种模式和命令操作形式,rx模式也分为普通,可视和命令三种模式。

普通模式是用户花费大部分时间的模式。这也是默认模式,也是使用画笔工具将像素绘制到视图上的一种模式。可以通过按esc键从任何其他模式进入普通模式。

可视模式是可以可视觉选择和操纵像素,但不能绘制像素的模式。使用v键激活可视模式。

命令模式允许用户在会话,视图或可视选择上运行命令。命令模式和vim类似,通过":"激活。因此,命令前面用冒号来描述,例如":q!"表示不保存,强制退出的命令。使用返回键提交命令,或使用:source

从文件加载命令。当保存在文件中时,命令没有前缀冒号。

导航

浏览rx会话很容易,并且涉及以下命令:

:zoom+和:zoom-,(快捷方式为"."和",")以缩放活动视图。也可以通过鼠标滚轮来完成。另外,要设置特定的缩放级别,:zoom可以乘以一个倍数,例如。:zoom 1.0将缩放比例设置为100%。

:pan 来平移工作空间。也可以通过保持空间并使用定点设备拖动或使用箭头键来实现。

:v/center以将活动视图居中(快捷方式为"z")。

:v/prev和:v/next循环浏览视图(快捷方式为"tab")。

绘画

画笔工具完成rx中的绘画,可以根据大小和画笔模式进行配置。通过"["和"] "或分别通过":brush/size -"和":brush/size +"命令来更改画笔大小。画笔模式是可以在工具上激活的行为:

erase:通过将像素的alpha设置为0来擦除像素。

multi:一次在多个帧上绘制。

xsym:x轴(水平)对称绘画。

ysym:y轴(垂直)对称绘画。

perfect:像素完美模式。

xray:始终查看底层像素的颜色。

刷模式通过:brush/set命令激活,并通过:brush/unset禁用。可以使用:brush/toggle切换。例如,切换X射线模式为:brush/toggle xray。

可以通过从调色板中选择一种颜色或使用采样器工具(ctrl)并从视图中选择一种颜色来设置画笔颜色。rx始终在状态栏中显示两种颜色:画笔使用的前景色和跟踪最后使用的颜色的背景色。可以通过按x或使用:swap命令来交换前景色和背景色。

要撤消对活动视图的编辑,请按u(或:undo),然后要重做,请按r(或:redo)。

有时,区分透明像素与黑色(rx的默认背景颜色)很有用。在这些情况下,可通过输:set checker = on(或简单地:setseter)来激活检查器。关闭检查器只需调用:set checker = off。

使用网格

当处理某些类型的图像时,围绕像素网格工作可能会有所帮助。rx可以使用:set grid命令显示网格。它的间距和颜色可以连续与网格/间距和网格/颜色设置一起滚动。例如,

:set grid/spacing 4 4

:set grid/color #ff0000

会设置网格设置为红色、4 x 4像素。

使用颜色

rx可以与32位sRGB图像和颜色一起使用。界面的左侧是一个调色板,用户可以通过rx的命令语言对其进行配置:要向调色板添加颜色,可以通过指定十六进制颜色代码来使用:p/add命令。要清除调色板,请使用:p/clear。

可以从rx脚本轻松加载调色板,例如,可以通过在脚本rgb.rx添加一下代码保存三个调色板:

p/clear

p/add #ff0000

p/add #00ff00

p/add #0000ff

然后通过:source rgb.rx加载。

动画

rx从一开始就设计用于创建动画像素作品。只需按回车键或输入:f/add(添加帧)命令,即可将帧添加到现有视图中。动画显示在视图旁边,并在帧之间连续循环。要更改帧延迟,可以使用动画/延迟设置。例如,要将帧之间的延迟设置为250毫秒,可以命令:

:set animation/delay = 250

这会设置为以4帧/秒的速度循环播放。

如果动画中的帧过多,则可以通过按退格键或输入:f/remove命令来删除帧。也可以使用:f/clone命令从现有帧中克隆帧,该命令将使用可选的帧号进行克隆,否则将克隆最后一个帧。

处理动画时,一次处理多个帧会很有用。此时,使用multi刷模式很方便。可以通过按住shift或输入:brush/set multi来激活它。现在,在框架上绘制也会在所有后续框架上绘制。

像素操作

视觉模式允许用户通过对视觉选择进行操作来操纵像素。要激活此模式,输入命令行:visual,或直接按v。视图边框将变为红色,表示可见模式处于活动状态。用鼠标拖动视图中的任何位置都会创建一个可以移动的选择。可使用:selection/expand或\将选择范围扩展到框架。可以一次用w向前移动整个帧,然后用b(:selection/jump)向后移动整个帧。也可以使用h,j,k和l键(:selection/move)在任何方向上对像素位置微调。

选择到位后,使用:selection/yank(y)命令可创建副本,然后可通过:selection/paste命令将其放置到任意位置,方法是用鼠标左键单击或按p。

还有一些其他很有用的快捷方式,例如:

[和]将选择插入和偏移一个像素。

f用前景色填充选择。

剪切选择内容。

e删除选择内容。

保存和加载

rx操作是基于PNG图像文件格式。加载文件就像使用:e(edit)命令和文件路径一样简单,例如:

:e chongchong.png

使用:w(write)命令就可以完成文件保存。要保存在其他路径下,可以显式指定文件路径,例如:

:w /tmp/chongchong.png

要关闭文件,可以使用:q(退出)命令。关闭最后一个剩余的视图将退出会话。

提示::e命令还可以用于加载文件的整个目录。只需指定目录路径,rx就会加载该路径下的所有文件。

加载动画

从.png文件加载动画时,不显示帧信息。需要使用:slice命令。如果有六帧动画条,输入:slice 6。该命令会将图像转换为一系列帧。将来,此信息将与.png一起保存。

提示:要调整动画帧的大小,可以用:f/resize命令。例如 :f/resize 16 16

rx设置

即时配置

rx中的大部分功能和工具都配置有可即时配置的设置。更新设置通常是通过:set命令完成的,设置命令的格式为:set = ,例如,可以通过以下方式将会话背景设置为灰色:

:set background = #333333

某些设置是打开/关闭开关,例如vsync设置。可以用:set vsync = on或:set vsync打开;通过:set vsync = off 或者 :unset vsync关闭。还可以用:toggle命令切换它们。

可以使用:echo命令显示设置的当前值。例如:echo background or :echo grid/spacing。

配置加载

有三种配置rx的方法:

通过在运行的会话中输入命令或使用:source命令来获取命令脚本。以这种方式进行的更改在会话关闭后将不会保留,但是例如对于加载颜色配置可能很有用。

通过在用户的配置目录中创建init.rx脚本。

在Linux系统上,这通常为~/.config/rx,可以通过从rx内部输入:echo config/dir显示。

通过在启动rx的工作目录中或通过rx加载的文件夹中创建一个名为.rxrc的文件。该文件的名称来自unix系统中传统的运行命令脚本,其语法与init.rx相同,在用户要加载特定于文件或项目集的配置时很有用。

rx中用于更改setting相同命令可以在脚本内部使用。不限于:set系列命令,而是扩展到rx中几乎所有可用的命令。一个重要区别的在编辑器中输入的命令以需要':'开头,而从脚本加载命令时则不必要。

在rx脚本中,注释可以通过在行前加双破折号--为前缀。

创建和修改键绑定

rx中的键绑定或快捷方式的配置与其他方式一样:使用命令语言以纯文本格式进行。:map系列命令创建快捷方式,格式为map 。例如通过:

:map / :zoom 1.0

将/(斜杠)键映射为zoom命令。可打印字符可以简单地指定,例如:map x :swap,不可打印字符必须用括起来,例如map :f/add。可以使用:help命令始终显示键绑定设置。

要清除所有键绑定(包括默认设置),可以使用命令:map/clear!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200102A09FY100?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券