Что делать? Помогите

Как я могу проверить изображение на сплошной цвет? Пример на скине игрока. Я хочу голову игрока показать в UI, но если скин Стива или Алекса, тогда голова игрока будет выглядеть как сплошной цвет. Я хочу сделать проверку, чтобы избежать сплошных цветов в UI.

Хм…

Плохо ищешь

<?php
//insert previous code I sent
$size = 48;

$im = imagecreatefromstring($skin_raw);
$av = imagecreatetruecolor($size, $size);

imagecopyresized($av, $im, 0, 0, 8, 8, $size, $size, 8, 8);
imagecolortransparent($im, imagecolorat($im, 63, 0));

$png = imagepng($av);

А где решение проблемы

Я тут увидел создание пнг

https://www.php.net/manual/ru/function.imagecolorat.php

Ну пусть через файлы игры ищет эти изображения дефолтных скнов и как-то с ними взаимодействовует и меняет

Решит вопрос

У сервера есть доступ к файлам игры?

А ты как думаешь если в UI можно брать изображение текстур из игры?

$form->addButton("List Operators", 0, "textures/ui/op");

Вот пример

Короче, при входе игрока на сервер, записывай имя скина(вроде так называетсЯ) и потом проверяй

разве не skinData

$player->getSkin()->getSkinData();//вроде

Сейчас проверю

Вот так выглядят головы игроков когда скин Steve или Alex

Попробуй PersonaToSkin плагин

Он скины фикси но голова все равно с плошным цветом

$im = imagecreatefrompng($player->getSkin()->getSkinData());
$colors = [];
for($i=0;$i<16;$i++){
   $rgb = imagecolorat($im, $i, $i);
   $colors[$i] = imagecolorsforindex($im, $rgb);
}
$last = [];
$onecolor = false;
foreach($colors as $key => $value){
  [$red, $green, $blue, $alpha] = $value;
  if(isset($last["red"]){
    if($last["red"] == $red and $last["green"] == 
      $green and $last["blue"] == $blue and 
      $last["alpha"] == $alpha){
      $onecolor  = true;
    } else {
      $onecolor = false;
     continue;
    }
  }
  $last = $value;
}

if($onecolor){
  $player->sendMessage("Чел.. у тебя стандартный скин, иди смени");
}
1 лайк

Что-то на говнокодерском

ValueError: “imagecreatefrompng(): Argument #1 ($filename) must not contain any null bytes”