Advertisement
jargon

Combo Tiles

Oct 10th, 2021
2,077
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.07 KB | None | 0 0
  1. function adhere_tiles( &$image = array() )
  2. {
  3.     $nen = nen_ini();
  4.     $result = '';
  5.    
  6.     if( $image[ 'rgb' ] !== false )
  7.     {
  8.         $image [ 'combo' ] = imagecreatefrombmp( $nen[ 'root' ]. 'tiles src data/rgb/'. $image[ 'filename' ]. '.bmp' );
  9.     }
  10.     elseif( $image[ 'mask' ] !== false )
  11.     {
  12.         $image [ 'combo' ] = imagecreatefrombmp( $nen[ 'root' ]. 'tiles src data/mask/'. $image[ 'filename' ]. '.bmp' );
  13.     }
  14.     else
  15.     {
  16.         $image [ 'combo' ] = false;
  17.         return;
  18.     }
  19.    
  20.     //adhere rgb/mask tiles into single layer png
  21.    
  22.     if( $image[ 'rgb' ] !== false )
  23.     {
  24.         $width[ 'rgb' ]  = imagesx( $image[ 'rgb' ] );
  25.         $height[ 'rgb' ]  = imagesy( $image[ 'rgb' ] );
  26.     }
  27.     else
  28.     {
  29.         $width[ 'rgb' ]  = 0;
  30.         $height[ 'rgb' ]  = 0;
  31.     }
  32.    
  33.     if( $image[ 'mask' ] !== false )
  34.     {
  35.         $width[ 'mask' ]  = imagesx( $image[ 'mask' ] );
  36.         $height[ 'mask' ]  = imagesy( $image[ 'mask' ] );
  37.     }
  38.     else
  39.     {
  40.         $width[ 'mask' ]  = 0;
  41.         $height[ 'mask' ]  = 0;
  42.     }
  43.  
  44.     if( $image[ 'combo' ] !== false )
  45.     {
  46.         $width[ 'combo' ]  = imagesx( $image[ 'combo' ] );
  47.         $height[ 'combo' ]  = imagesy( $image[ 'combo' ] );
  48.     }
  49.     else
  50.     {
  51.         $width[ 'combo' ]  = 0;
  52.         $height[ 'combo' ]  = 0;
  53.     }
  54.  
  55.     if( $image[ 'combo' ] === false )
  56.     {
  57.         return;
  58.     }
  59.    
  60.     $result.= '<img src="./tiles out data/combo/'.$image[ 'filename' ]. '.png">';
  61.  
  62.     //imagecolortransparent( $image[ 'combo' ], 0);
  63.  
  64.     /*
  65.     $fg = imagecolorexactalpha(
  66.         $image['mask'],
  67.         $red,
  68.         $green,
  69.         $blue,
  70.         $alpha
  71.     );
  72.    
  73.     $bg = imagecolorallocatealpha(
  74.         $image['combo'],
  75.         0,
  76.         0,
  77.         0,
  78.         127
  79.     );
  80.     */
  81.    
  82.     $row=0;
  83.     $col=0;
  84.     while( $row < $height['combo'] )
  85.     {
  86.         while( $col < $width['combo'] )
  87.         {
  88.             //pseudocode:
  89.            
  90.             //if pixel in $image['mask'] at ($cow,$row) is white:
  91.                 //set pixel in $image['combo'] at ($cow,$row) as fully transparent
  92.             //else
  93.                 //set pixel in $image['combo'] at ($cow,$row) as pixel color in $image['rgb'] at ($cow,$row) with full opacity
  94.            
  95.             if($col = width$['combo'] - 1)
  96.             {
  97.                 break;
  98.             }  
  99.             $col++;
  100.         }
  101.         if($row = height$['combo'] - 1)
  102.         {
  103.             break;
  104.         }
  105.         $row++;
  106.     }
  107.    
  108.     return $result;
  109. }
  110.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement