patrickbussmann/shooting-target 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

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

patrickbussmann/shooting-target

Composer 安装命令:

composer require patrickbussmann/shooting-target

包简介

Draw shooting targets with hits based on coordinate system

README 文档

README

Build Status Latest Stable Version Total Downloads StyleCI codecov.io

The goal was it to display the hits from the www.meyton.org/shooting-data-feed-sdf/ system. The data source is called Shooting Data Feed (SDF) and could be a XML file or a MySQL database.

Installation

With Composer

$ composer require patrickbussmann/shooting-target
{
    "require": {
        "patrickbussmann/shooting-target": "dev-master"
    }
}
<?php

require 'vendor/autoload.php';

use ShootingTarget\Target;
use ShootingTarget\Hit;

Without 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;

Usage

Example Air Rifle 10m (DE: 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();

Result

The picture generated by the script above

Example Air Pistol 10m (DE: 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);

Result

The picture generated by the script above

Example with custom font

Using a custom font is more better because it will scale up to your selected size.

$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');

Result

The picture generated by the script above

Target list

There are many targets which are compatible with this. Use them as you like. The examples below based on this document from the DSB. This is the reason why the table is in german language.

Wettbewerb / DisciplineØ 10Innen-Ø 10RingabstandErster schw. RingRingzahlStatus
Gewehr 10 m
Armbrust 10 m
0.50.52.5410
$target = new Target(0.5, 0.5, 2.5, 4, 10);
10 m Pistole11.558710
$target = new Target(11.5, 5, 8, 7, 10);
Gewehr 15 m4.5 4.5610
$target = new Target(4.5, 0, 4.5, 6, 10);
100 m Gewehr
25 m Pistole
50 m Pistole
502525710
$target = new Target(50, 25, 25, 7, 10);
Gewehr 300 m
Vorderlader Freigewehr 300 m
1005050510
$target = new Target(100, 50, 50, 5, 10);
Muskete 50 m80 4016
$target = new Target(80, 0, 40, 1, 6);
25 m Schnellfeuer-/Duell-Pistole
Pistole (Duell)
100504056
$target = new Target(100, 50, 40, 5, 6);
Laufende Scheibe 10 m5.50.52.5510
$target = new Target(5.5, 0.5, 2.5, 5, 10);
Laufende Scheibe 50 m60301702
$target = new Target(60, 30, 17, 0, 2);
Armbrust international 30 m626310
$target = new Target(6, 2, 6, 3, 10);
Armbrust National 30 m100.51546
$target = new Target(10, 0.5, 15, 4, 6);

Contribution

  • Having an issue? or looking for support? Open an issue please.
  • Do you have a new feature or a bug fix? Fork the repo, make your changes, and submit a pull request. Thank you in Advance!

Support

If you like this project please star it 😉

统计信息

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

GitHub 信息

  • Stars: 12
  • Watchers: 4
  • Forks: 4
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2017-08-13

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固