patrickbussmann / shooting-target
根据坐标系绘制射击靶,显示命中点
1.0.1
2017-08-18 16:47 UTC
Requires
- php: >=5.4
- ext-gd: *
Requires (Dev)
- phpunit/phpunit: ^4.8
This package is auto-updated.
Last update: 2024-09-19 02:46:57 UTC
README
目标是显示来自www.meyton.org/shooting-data-feed-sdf/系统的命中。数据源称为射击数据流(SDF),可以是XML文件或MySQL数据库。
安装
使用Composer
$ composer require patrickbussmann/shooting-target
{ "require": { "patrickbussmann/shooting-target": "dev-master" } }
<?php require 'vendor/autoload.php'; use ShootingTarget\Target; use ShootingTarget\Hit;
不使用Composer
$ git clone https://github.com/patrickbussmann/shooting-target.git
<?php require 'shooting-target/src/Target.php'; require 'shooting-target/src/Hit.php'; use ShootingTarget\Target; use ShootingTarget\Hit;
使用方法
示例 Air Rifle 10m
(德语: Luftgewehr LG 10m)
$target = new Target(0.5, 0.5, 2.5, 4, 10); $target->addHit(new Hit(0, 0)); $target->addHit(new Hit(500, 500)); $target->addHit(new Hit(-500, 500)); $target->addHit(new Hit(500, -500)); $target->addHit(new Hit(-500, -500)); header('Content-Type: image/png'); $target->draw();
结果
示例 Air Pistol 10m
(德语: Luftpistole / LP 10m)
$target = new Target(11.5, 5.0, 8.0, 7, 10); $target->addHit(new Hit(0, 0)); $target->addHit(new Hit(1000, 1000)); $target->addHit(new Hit(-1000, 1000)); $target->addHit(new Hit(1000, -1000)); $target->addHit(new Hit(-1000, -1000)); header('Content-Type: image/png'); $target->draw(10);
结果
自定义字体示例
使用自定义字体更好,因为它可以缩放到你选择的大小。
$target = new Target(0.5, 0.5, 2.5, 4, 10); $target->addHit(new Hit(0, 0)); $target->addHit(new Hit(500, 500)); $target->addHit(new Hit(-500, 500)); $target->addHit(new Hit(500, -500)); $target->addHit(new Hit(-500, -500)); header('Content-Type: image/png'); $target->draw(10, Target::DRAW_TYPE_PNG, __DIR__ . '/arial.ttf');
结果
靶子列表
有许多与这个兼容的靶子。按需使用。以下示例基于DSB的此文件。这就是为什么表格是德语的原因。
贡献
支持
喜欢这个项目请给它点个赞 😉