moroz1999 / zx-image
Zx Spectrum图像转换器(PHP版)
5.6.1
2024-04-02 20:47 UTC
Requires
- php: >=7.4
- moroz1999/gif-creator: *
Requires (Dev)
- vimeo/psalm: ^3.13
- dev-master
- 5.6.1
- 5.6.0
- 5.5.2
- 5.5.1
- 5.5.0
- 5.4.1
- 5.4.0
- 5.3.0
- 5.2.4
- 5.2.3
- 5.2.2
- 5.2.1
- 5.2.0.1
- 5.2.0
- 5.1.0
- 5.0.0
- 4.1.2
- 4.1.1
- 4.1.0
- 4.0.0
- 3.1.2
- 3.1.1
- 3.1.0
- 3.0.2
- 3.0.1
- 3.0.0
- 2.12.1
- 2.12.0
- 2.11.0
- 2.10.0
- 2.9.1
- 2.9.0
- 2.8.2
- 2.8.1
- 2.8.0
- 2.7.0
- 2.6.4
- 2.6.3
- 2.6.2
- 2.6.1
- 2.6.0
- 2.5.3
- 2.5.2
- 2.5.1
- 2.5.0
- 2.4.2
- 2.4.1
- 2.4.0
- 2.3.0
- 2.2.3
- 2.2.2
- 2.2.1
- 2.2.0
- 2.1.3
- 2.1.2
- 2.1.1
- 2.1.0
- 2.0.7
- 2.0.6
- 2.0.5
- 2.0.4
- 2.0.3
- 2.0.2
- 2.0.1
- 2.0.0
- 1.0.0
- 0.0.1
- 0.0.0
- dev-feature/php7.0
This package is auto-updated.
Last update: 2024-09-02 21:46:33 UTC
README
PHP-based ZX Spectrum images parsing into PNG/GIF. Supports animation, supports file caching.
基本使用示例
<?php include_once('ZxImage/Converter.php'); $converter = new \ZxImage\Converter(); $converter->setType('standard'); $converter->setPath('example.scr'); // $converter->setBorder(5); //cyan $converter->setZoom(1); //1 for 320*240 (256*192 with border) //convert and return image data if ($binary = $converter->getBinary()) { //after conversion we can ask for a mime type of last operation and send it to browser if ($imageType = $converter->getResultMime()) { header('Content-Type: ' . $imageType); } //send image contents to browser echo $binary; }
文件缓存设置示例
即时转换速度慢且占用资源,因此建议设置内置文件缓存。
//ensure that there is a folder for converted images cache if (!is_dir($folderForCache)) { mkdir($folderForCache); } //set cache path $converter->setCachePath($folderForCache); //enable file cache $converter->setCacheEnabled(true);
在此之后,所有图像都将存储在文件夹中作为缓存。转换器将自动检查并删除过时图像。
安装
通过Composer安装
{ "require": { "moroz1999/zx-image": "*" } }
该库也无需Composer自动加载器即可工作。
支持的格式
- "standard" - 标准ZX Spectrum屏幕内存转储。大小:6912。包含6144字节的像素数据,768字节的属性。
- "ulaplus" - 带有附加ULA+调色的板ZX Spectrum屏幕。大小:6976。包含6144字节的像素数据,768字节的属性,64字节的ULA+调色板。
- "sam3" - Sam Coupe模式3屏幕转储。大小:24617。包含24576字节的像素数据,4字节的Mode3调色板,37字节未使用。
- "sam4" - Sam Coupe模式4屏幕转储。大小:24617。包含24576字节的像素数据,16字节的Mode4调色板,25字节未使用。
- "zxevo" - 以16色标准BMP文件保存的ZX Evolution屏幕。
- "sxg" - 以SXG格式保存的ZX Evolution(也支持TSConf屏幕)屏幕。
- "bsc" - 边框屏幕。大小:11136。包含6144字节的像素数据,768字节的属性,4224字节的边框“像素”。
- "bsp" - Trefi的边框屏幕。大小不一。支持6912,gigascreen,用于边框数据的字节,以及可选的边框“像素”数据。
- "bmc4" - 带边框的多颜色8*4。大小:11904。包含6144字节的像素数据,1536字节的属性,4224字节的边框“像素”。
- "gigascreen" - 以50Hz软件闪烁显示的两个标准屏幕。大小:13824。包含两个标准SCR文件:6144字节的像素数据,768字节的属性,6144字节的像素数据,768字节的属性。
- "chrd" - Alone Coder的CHR$格式,支持单色、标准和gigascreen图像的可变宽/高。大小:根据图像宽/高而变化。数据按字符单独包含。
- "monochrome" - 无属性的ZX Spectrum单色屏幕。大小:6144,仅包含像素数据。
- "flash" - 为硬件“Flash颜色”修改制作的屏幕。大小:6912。格式与标准屏幕相同,但使用闪存位用于混合纸张+墨水,强制黑色纸张。
- "tricolor" - 软件闪烁RGB图像。大小:18432。包含6144字节的红色像素数据,6144字节的绿色像素数据,6144字节的蓝色像素数据。
- "multicolor" - 多颜色8*2。大小:9216。包含6144字节的像素数据,3072字节的属性数据。
- "multicolor4" - 多颜色8*4。大小:7680。包含6144字节的像素数据,1536字节的属性数据。
- "multiartist" - 从Multiartist(MG1、MG2、MG4、MG8,不是PC原生MGS)导出的ZX Spectrum多颜色gigascreen图像。大小:不一。
- "attributes" - 使用网格实现的53色ZX Spectrum原生属性屏幕。大小:768。仅包含768字节的属性。
- "lowresgs" - ZX Spectrum gigascreen 8*4属性屏幕。大小:1628。包含84字节的问号,8字节的纹理,768字节的第一个屏幕属性,768字节的第二个屏幕属性。
- "mc" - ZX Spectrum多颜色8*1屏幕。大小:12288。包含6144字节的线性像素数据,6144字节的线性属性数据。
- "mlt" - ZX Spectrum多颜色8*1屏幕。大小:12288。包含6144字节的非线性像素数据,6144字节的线性属性数据。
- "timex81" - Timex多颜色8*1屏幕。大小:12288。包含6144字节的非线性像素数据,6144字节的以非线性格式(Timex屏幕内存转储)表示的属性。
- "timexhr" - Timex高分辨率512*192屏幕。大小:12289。奇数列像素数据6144字节,偶数列像素数据6144字节,颜色信息1字节。
- "timexhrg" - Timex高分辨率Gigascreen 512*192屏幕。大小:24578。两个timexhr屏幕依次排列。
- "stellar" - ZX Spectrum图形模式,结合多彩和128K屏幕切换,产生交替明暗颜色的4x4像素块,在64x48分辨率下实现64色有效调色板,无属性限制且无闪烁。首次由RST7在Pentagon机器的Eye Ache 2中实现,并由Gasman在Buttercream Sputnik中为原始Spectrum重新实现。
- "atmega" - ATM Turbo 2+ EGA图形模式。包含像素数据和调色板的32128文件。
- "nxi" - ZX Spectrum Next nxi文件。49664文件包含RGB333调色板的512字节和256*192字节的像素。
- "grf" - Profi GRF文件(部分支持高分辨率16色模式)
许可证
Creative Commons Zero v1.0通用