#screen #rgba #pixel #cast #retrieve #unsigned-integer #32-bit

bin+lib pixel_caster

通过管理它们的RGBA值将像素从屏幕上读取或写入。从.png文件导入字符

9个版本 (5个稳定版)

1.0.4 2023年7月30日
1.0.3 2022年10月12日
1.0.2 2022年9月10日
0.2.10 2022年4月19日
0.1.0 2022年3月21日

#27Windows API

每月下载量 37次

MIT 许可证

795KB
1.5K SLoC

pixel_caster

从屏幕读取或写入到屏幕的字节(8位或32位无符号整数,u8/u32)以读取或操作像素。

从.png文件导入/导出字符,更改其颜色和透明度,从它们创建字符串并在屏幕上打印。

示例

在examples目录中可以找到许多示例。使用以下命令,后跟文件标题,来编译和运行

cargo run --example

获取字节

示例为"\examples\get_pixels_bytes.rs"

cargo run --example get_pixels_bytes

get_bytes示例将返回一个包含从请求大小的屏幕区域像素的红色字节的Vec,从屏幕上的绝对位置开始。

发送字节

示例为"\examples\send_bytes_to_pixels.rs"

cargo run --example send_bytes_to_pixels

send_bytes_bgra示例将发送一个Vec,包含u8或u32值,包含要应用于请求大小的屏幕区域像素的字节,从屏幕上的绝对位置开始。支持Alpha值(蓝色 绿色 红色 Alpha),它表示结果的颜色的透明度(从B G R值的组合中),可以为Vec中的每个BGR值设置一个Alpha值,以覆盖其自身的Alpha值,从而更改要发送到屏幕的每个BGR的不透明度。在这个例子中,Vec将包含64字节,代表一个4 x 4(16)像素的立方体,其中前两个将是红色,其余14个将是蓝色(在这个例子中,Vec中的每个Alpha值都已设置为255,以实现最大不透明度)

还提供了其他功能,例如自动将每个要发送到屏幕的BGRA的Alpha值设为最大,以最大化不透明度,另一个功能是将RGB组合的Alpha设为0,例如,当将白色(R: 255, G: 255, B: 255)发送到屏幕时,它将变得完全透明。

克隆像素

"\examples\clone_pixels_on_screen.rs" 的示例

cargo run --example clone_pixels_on_screen

copy_and_paste_pixels 示例将从屏幕的指定区域复制像素并将它们粘贴到另一个指定区域。

从包含样本字符的.png文件中提取字符的颜色字节并创建字符串

"pixels_string" 功能是必需的,并且默认启用

"\examples\text_from_png_chars_sample_to_screen.rs" 的示例

cargo run --example text_from_png_chars_sample_to_screen

运行 cargo run --example text_from_png_chars_sample_to_screen 示例将导入2个.png文件(字符大小和颜色不同)中的字符,并在屏幕上打印由这些字符组成的一些字符串,然后逐个将它们导出到一个文件夹中,使用.png格式,最后将它们重新导入,创建一个新的字符串并在屏幕上打印。

仅适用于Windows操作系统,从Windows 2000开始

许可证

依赖项

约130MB
~2M SLoC