Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Помогите Отображение HD скинов

Тема в разделе "[Архив] Помощь", создана пользователем SocialRus, 16 дек 2013.

  1. Автор темы
    SocialRus

    SocialRus Старожил Пользователь

    Баллы:
    103
    Как сделать чтобы отображался скин 1024х512,а не 64х32?
    Вот код
    PHP:
    <?php
    class Skin2d {
        private 
    $image NULL;
        function 
    __destructor () {
            if (
    $this->image != NULL) {
                
    imagedestroy($this->image);
            }
        }

        function 
    AssignSkinFromFile ($file) {
            if (
    $this->image != NULL) {
                
    imagedestroy($this->image);
            }
            if((
    $this->image imagecreatefrompng($file)) == False) {
                
    // Error occured
                
    throw new Exception("Could not open PNG file.");
            }
            if(!
    $this->Valid()) {
                throw new 
    Exception("Invalid skin image.");
            }
        }

        function 
    AssignSkinFromString ($data) {
            if (
    $this->image != NULL) {
                
    imagedestroy($this->image);
            }
            if((
    $this->image imagecreatefromstring($data)) == False) {

                throw new 
    Exception("Could not load image data from string.");
            }
            if(!
    $this->Valid()) {
                throw new 
    Exception("Invalid skin image.");
            }
        }

        function 
    Width () {
            if(
    $this->image != NULL) {
                return 
    imagesx($this->image);
            } else {
                throw new 
    Exception("No skin loaded.");
            }
        }

        function 
    Height () {
            if(
    $this->image != NULL) {
                return 
    imagesy($this->image);
            } else {
                throw new 
    Exception("No skin loaded.");
            }
        }
        function 
    Valid () {
            return (
    $this->Width() != 1024 || $this->Height() != 512) ? False True;
        }
        function 
    FrontImage ($scale 1$r 255$g 255$b 255) {
            
    $newWidth 16 $scale;
            
    $newHeight 32 $scale;
            
    $newImage imagecreatetruecolor(1632);
            
    $background imagecolorallocate($newImage$r$g$b);
            
    imagefilledrectangle($newImage001632$background);
            
    imagecopy($newImage$this->image408888);
            
    $this->imagecopyalpha($newImage$this->image4040888imagecolorat($this->image630));
            
    imagecopy($newImage$this->image482020812);
            
    imagecopy($newImage$this->image820420412);
            
    imagecopy($newImage$this->image420420412);
            
    imagecopy($newImage$this->image1284420412);
            
    imagecopy($newImage$this->image084420412);
            if(
    $scale != 1) {
                
    $resize imagecreatetruecolor($newWidth$newHeight);
                
    imagecopyresized($resize$newImage0000$newWidth$newHeight1632);
                
    imagedestroy($newImage);
                return 
    $resize;
            }
            return 
    $newImage;
        }
        function 
    BackImage ($scale 1$r 255$g 255$b 255) {
            
    $newWidth 16 $scale;
            
    $newHeight 32 $scale;
            
    $newImage imagecreatetruecolor(1632);
            
    $background imagecolorallocate($newImage$r$g$b);
            
    imagefilledrectangle($newImage001632$background);
            
    imagecopy($newImage$this->image4024888);
            
    $this->imagecopyalpha($newImage$this->image4056888imagecolorat($this->image630));
            
    imagecopy($newImage$this->image483220812);
            
    imagecopy($newImage$this->image8201220412);
            
    imagecopy($newImage$this->image4201220412);
            
    imagecopy($newImage$this->image1285220412);
            
    imagecopy($newImage$this->image085220412);
            if(
    $scale != 1) {
                
    $resize imagecreatetruecolor($newWidth$newHeight);
                
    imagecopyresized($resize$newImage0000$newWidth$newHeight1632);
                
    imagedestroy($newImage);
                return 
    $resize;
            }
            return 
    $newImage;
        }
        function 
    CombinedImage ($scale 1$r 255$g 255$b 255) {
            
    $newWidth 37 $scale;
            
    $newHeight 32 $scale;
            
    $newImage imagecreatetruecolor(3732);
            
    $background imagecolorallocate($newImage$r$g$b);
            
    imagefilledrectangle($newImage003732$background);
            
    imagecopy($newImage$this->image408888);
            
    $this->imagecopyalpha($newImage$this->image4040888imagecolorat($this->image630));
            
    imagecopy($newImage$this->image482020812);
            
    imagecopy($newImage$this->image820420412);
            
    imagecopy($newImage$this->image420420412);
            
    imagecopy($newImage$this->image1284420412);
            
    imagecopy($newImage$this->image084420412);
            
    imagecopy($newImage$this->image25024888);
            
    $this->imagecopyalpha($newImage$this->image25056888imagecolorat($this->image630));
            
    imagecopy($newImage$this->image2583220812);
            
    imagecopy($newImage$this->image29201220412);
            
    imagecopy($newImage$this->image25201220412);
            
    imagecopy($newImage$this->image3385220412);
            
    imagecopy($newImage$this->image2185220412);
            if(
    $scale != 1) {
                
    $resize imagecreatetruecolor($newWidth$newHeight);
                
    imagecopyresized($resize$newImage0000$newWidth$newHeight3732);
                
    imagedestroy($newImage);
                return 
    $resize;
            }
            return 
    $newImage;
        }

        function 
    imagecopyalpha($dst$src$dst_x$dst_y$src_x$src_y$w$h$bg) {
            for(
    $i 0$i $w$i++) {
                for(
    $j 0$j $h$j++) {
                    
    $rgb imagecolorat($src$src_x $i$src_y $j);
                    if((
    $rgb 0xFFFFFF) == ($bg 0xFFFFFF)) {
                        
    $alpha 127;
                    } else {
                        
    $colors imagecolorsforindex($src$rgb);
                        
    $alpha $colors["alpha"];
                    }
                    
    imagecopymerge($dst$src$dst_x $i$dst_y $j$src_x $i$src_y $j11100 - (($alpha 127) * 100));
                }
            }
        }
    }
    ?><?php
    $path 
    $_GET[skinpath];
    $test = new Skin2d();
    $test->AssignSkinFromFile($path);
    header('Content-type: image/png' || 'Content-type: image/x-png');
    $img $test->CombinedImage(5);
    imagepng($img);
    imagedestroy($img);
    ?>
     
  2. Хостинг MineCraft
    <
  3. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Функция "imagecopyalpha($dst, $src, $dst_x, $dst_y, $src_x, $src_y, $w, $h, $bg)" просто ужас.
    К тому же, этот код подходит только под 64x32.
     
    ПриветОтЛайки нравится это.
  4. Автор темы
    SocialRus

    SocialRus Старожил Пользователь

    Баллы:
    103
    не подскажите код для hd скинов?
     
  5. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Где то видал такой, но увы, не смогу его найти на данный момент.
     
    Сникерсни нравится это.
  6. Автор темы
    SocialRus

    SocialRus Старожил Пользователь

    Баллы:
    103
    плохо.
    UP!!![DOUBLEPOST=1387250258,1387214881][/DOUBLEPOST]UP!!![DOUBLEPOST=1387298002][/DOUBLEPOST]UP!!!
     
    Сникерсни нравится это.
  7. fles

    fles Старожил Пользователь

    Баллы:
    153
    Skype:
    VadimVgb
    Имя в Minecraft:
    fles
  8. Автор темы
    SocialRus

    SocialRus Старожил Пользователь

    Баллы:
    103
  9. fles

    fles Старожил Пользователь

    Баллы:
    153
    Skype:
    VadimVgb
    Имя в Minecraft:
    fles
    SocialRus, Руки вправь[DOUBLEPOST=1387300127,1387300013][/DOUBLEPOST]skin2d.php?skinpath=ТвойНик&mode=1 //Перед
    skin2d.php?skinpath=ТвойНик&mode=2 //Зад
     
  10. Автор темы
    SocialRus

    SocialRus Старожил Пользователь

    Баллы:
    103
    UP!!!Не помогло![DOUBLEPOST=1387355225,1387304167][/DOUBLEPOST]UP!!!!!
     
    MineMan910 нравится это.

Поделиться этой страницей