可以在没有autoload.php(作曲家)的情况下使用thephpleague / color-extractor吗?

可以在没有autoload.php(作曲家)的情况下使用thephpleague / color-extractor吗?

问题描述:

I'my trying to use color-extractor to get the colours of my images but I'm having trouble getting it working.

I noticed a missing autoload.php file in the package and after some googling it seems it requires that you use Composer. I haven't used composer and don't have much experience using the command line yet. Something I am working on but hoping not to have to learn it all before using this php package.

I tried changing some of the php lines from this:

require 'vendor/autoload.php';

use League\ColorExtractor\Color;
use League\ColorExtractor\ColorExtractor;
use League\ColorExtractor\Palette;

to this:

require ..\lib\League\ColorExtractor\Color;
require ..\lib\League\ColorExtractor\ColorExtractor;
require ..\lib\League\ColorExtractor\Palette;

But it didn't work and I got these errors:

[14-Jan-2019 07:00:43 Australia/Sydney] PHP Fatal error:  require(): Failed opening required 'lib/League/ColorExtractor/Color.php' (include_path='.:/opt/alt/php56/usr/share/pear:/opt/alt/php56/usr/share/php') in /home/windowvi/public_html/arena/examples/grid2/php/get_collection.php on line 3
[14-Jan-2019 07:07:14 Australia/Sydney] PHP Fatal error:  Class 'Palette' not found in /home/windowvi/public_html/arena/examples/grid2/php/get_collection.php on line 55

Can this package be used without learning and using composer and if so, how would I require/include the files?

Thanks!

我试图使用 color-extractor 来获取我的图像颜色,但是我无法正常工作。 p>

我注意到了一个缺少的autoload.php 包中的文件和一些谷歌搜索后似乎需要你使用作曲家 。 我还没有使用过composer,也没有太多使用命令行的经验。 我正在研究的东西,但希望在使用这个php包之前不必学习它。 p>

我尝试改变一些PHP行: p>

 需要'vendor / autoload.php'; 
 
use League \ ColorExtractor \ Color; 
use League \ ColorExtractor \ ColorExtractor; 
use League \ ColorExtractor \ Palette; 
  code>  pre  > 
 
 

到此: p>

  require .. \ lib \ League \ ColorExtractor \ Color; 
require .. \ lib \ League \ ColorExtractor \ ColorExtractor;  
require .. \ lib \ League \ ColorExtractor \ Palette; 
  code>  pre> 
 
 

但它没有用,我收到了这些错误: p>

  [14-Jan-2019 07:00:43 Australia / Sydney] PHP致命错误:require():无法打开所需的'lib / League / ColorExtractor / Color.php'(include_path ='。:/ 第3行的/home/windowvi/public_html/arena/examples/grid2/php/get_collection.php中的opt / alt / php56 / usr / share / pear:/ opt / alt / php56 / usr / share / php')  [14-Jan-2019 07:07:14澳大利亚/悉尼] PHP致命错误:/ home / windowvi / public_ht中找不到“调色板”类 第55行上的ml / arena / examples / grid2 / php / get_collection.php 
  code>  pre> 
 
 

可以在不学习和使用作曲家的情况下使用此包,如果是,我该怎么办? 要求/包含文件? p>

谢谢! p> div>

Hopefully this will help you on your way.

Create a project folder called e.g. ‘colorextractor’

Copy-paste the 3 files from thephpleague/color-extractor/src/League/ColorExtractor

  1. Color.php
  2. ColorExtractor.php
  3. Palette.php

Into your project folder.

Then create an index.php file (see below) that will run the examples from the README at thephpleague/color-extractor – to ensure it all works as expected.

Your project folder should have the following content: enter image description here

Note: I used a ‘testimage.png’ to test the package in index.php

index.php

<?php
// import package namespaces
use League\ColorExtractor\Color;
use League\ColorExtractor\ColorExtractor;
use League\ColorExtractor\Palette;

// if you don't use an autoloader
// you need to require the package files
require __DIR__ . "/Color.php";
require __DIR__ . "/ColorExtractor.php";
require __DIR__ . "/Palette.php";

// the example from the README at ColorExtractor
$palette = Palette::fromFilename('./testimage.png');
// $palette is an iterator on colors sorted by pixel count
foreach($palette as $color => $count) {
    // colors are represented by integers
    echo Color::fromIntToHex($color), ': ', $count, "
";
}
echo '<br />';
// it offers some helpers too
$topFive = $palette->getMostUsedColors(5);
echo '<br />';
echo 'top 5 most used colors:';
echo '<pre>';
print_r($topFive);
echo '</pre>';

$colorCount = count($palette);
echo '<br />';
echo "color count: " . $colorCount;
echo '<br />';

// this example gave me a 'notice: undefined offset'
//$blackCount = $palette->getColorCount(Color::fromHexToInt('#000000'));
//echo '<br />';
//echo "black count " . $blackCount;


// an extractor is built from a palette
$extractor = new ColorExtractor($palette);
// it defines an extract method which return the most “representative” colors
$colors = $extractor->extract(5);
echo '<br />';
echo 'most representative colors:';
echo '<pre>';
print_r($colors);
echo '</pre>';