code: private function create_image() {
          $total = $this->total_size();
          $sprite = imagecreatetruecolor($total["width"], $total["height"]);
          imagesavealpha($sprite, true);
          $transparent = imagecolorallocatealpha($sprite, 0, 0, 0, 127);
          imagefill($sprite, 0, 0, $transparent);
          $top = 0;
          foreach ($this->images as $image) {
              $func = "imagecreatefrom" . $image['type'];
              $img = $func($image["path"]);
              imagecopy($sprite, $img, ($total["width"] - $image["width"]), $top, 0, 0, $image["width"], $image["height"]);
              $top += $image["height"];
          }
          return $sprite;
      }
docs: creates sprite image resource