Можно ли использовать phpleague / color-extractor без autoload.php (composer)? - PullRequest
0 голосов
/ 13 января 2019

Я пытаюсь использовать Color-Extractor , чтобы получить цвета моих изображений, но у меня возникают проблемы с его работой.

Я заметил отсутствующий файл autoload.php в пакете, и после некоторого поиска в Google кажется, что вам нужно использовать Composer . Я не использовал composer и не имею большого опыта использования командной строки. Что-то, над чем я работаю, но надеюсь, что вам не придется изучать все это перед использованием этого пакета php.

Я попытался изменить некоторые строки php из этого:

require 'vendor/autoload.php';

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

к этому:

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

Но это не сработало, и я получил эти ошибки:

[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

Можно ли использовать этот пакет без изучения и использования composer, и если да, то как мне потребовать / включить файлы?

Спасибо!

1 Ответ

0 голосов
/ 14 января 2019

Надеюсь, это поможет вам на вашем пути.

Создайте папку проекта, например, с именем «Colorextractor»

Скопируйте и вставьте 3 файла из thephpleague / color-extractor / src / League / ColorExtractor

  1. color.php
  2. ColorExtractor.php
  3. Palette.php

В папку вашего проекта.

Затем создайте файл index.php (см. Ниже), который будет запускать примеры из README в thephpleague / color-extractor - чтобы убедиться, что все работает должным образом.

В папке вашего проекта должно быть следующее содержимое: enter image description here

Примечание. Я использовал файл «testimage.png» для проверки пакета в index.php

index.php

<code><?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, "\n";
}
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 '
'; $ colorCount = count ($ palette); echo '
'; echo "счетчик цветов:". $ ColorCount; echo '
'; // этот пример дал мне уведомление: неопределенное смещение // $ blackCount = $ palette-> getColorCount (Color :: fromHexToInt ('# 000000')); // echo '
'; // эхо "черный счет". $ BlackCount; // экстрактор построен из палитры $ extractor = new ColorExtractor ($ palette); // он определяет метод извлечения, который возвращает наиболее «представительные» цвета $ colors = $ extractor-> extract (5); echo '
'; echo 'наиболее представительные цвета:'; echo '
';
print_r($colors);
echo '
';
...