Feefty Posted November 2, 2012 Posted November 2, 2012 (edited) im using the code from flux and this is what i get http://prntscr.com/irc1a and im also using codeigniter <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Emblem extends CI_Model { function __construct() { parent::__construct(); } /** * Code taken from https://cerescp.svn.sourceforge.net/svnroot/cerescp/emblema.php * under the GNU General Public license version 2. * * @license GPLv2 <http://www.gnu.org/licenses/gpl-2.0.txt> */ function imagecreatefrombmpstring($im) { $header = unpack("vtype/Vsize/v2reserved/Voffset", substr($im, 0, 14)); $info = unpack("Vsize/Vwidth/Vheight/vplanes/vbits/Vcompression/Vimagesize/Vxres/Vyres/Vncolor/Vimportant", substr($im, 14, 40)); extract($info); extract($header); if($type != 0x4D42) return false; $palette_size = $offset - 54; $ncolor = $palette_size / 4; $imres=imagecreatetruecolor($width, $height); imagealphablending($imres, false); imagesavealpha($imres, true); $pal=array(); if($palette_size) { $palette = substr($im, 54, $palette_size); $gd_palette = ""; $j = 0; $n = 0; while($j < $palette_size) { $b = ord($palette{$j++}); $g = ord($palette{$j++}); $r = ord($palette{$j++}); $a = ord($palette{$j++}); if ( ($r & 0xf8 == 0xf8) && ($g == 0) && ($b & 0xf8 == 0xf8)) $a = 127; // alpha = 255 on 0xFF00FF $pal[$n++] = imagecolorallocatealpha($imres, $r, $g, $b, $a); } } $scan_line_size = (($bits * $width) + 7) >> 3; $scan_line_align = ($scan_line_size & 0x03) ? 4 - ($scan_line_size & 0x03): 0; for($i = 0, $l = $height - 1; $i < $height; $i++, $l--) { $scan_line = substr($im, $offset + (($scan_line_size + $scan_line_align) * $l), $scan_line_size); if($bits == 24) { $j = 0; $n = 0; while($j < $scan_line_size) { $b = ord($scan_line{$j++}); $g = ord($scan_line{$j++}); $r = ord($scan_line{$j++}); $a = 0; if ( ($r & 0xf8 == 0xf8) && ($g == 0) && ($b & 0xf8 == 0xf8)) $a = 127; // alpha = 255 on 0xFF00FF $col=imagecolorallocatealpha($imres, $r, $g, $b, $a); imagesetpixel($imres, $n++, $i, $col); } } else if($bits == 8) { $j = 0; while($j < $scan_line_size) { $col = $pal[ord($scan_line{$j++})]; imagesetpixel($imres, $j-1, $i, $col); } } else if($bits == 4) { $j = 0; $n = 0; while($j < $scan_line_size) { $byte = ord($scan_line{$j++}); $p1 = $byte >> 4; $p2 = $byte & 0x0F; imagesetpixel($imres, $n++, $i, $pal[$p1]); imagesetpixel($imres, $n++, $i, $pal[$p2]); } } else if($bits == 1) { $j = 0; $n = 0; while($j < $scan_line_size) { $byte = ord($scan_line{$j++}); $p1 = (int) (($byte & 0x80) != 0); $p2 = (int) (($byte & 0x40) != 0); $p3 = (int) (($byte & 0x20) != 0); $p4 = (int) (($byte & 0x10) != 0); $p5 = (int) (($byte & 0x08) != 0); $p6 = (int) (($byte & 0x04) != 0); $p7 = (int) (($byte & 0x02) != 0); $p8 = (int) (($byte & 0x01) != 0); imagesetpixel($imres, $n++, $i, $pal[$p1]); imagesetpixel($imres, $n++, $i, $pal[$p2]); imagesetpixel($imres, $n++, $i, $pal[$p3]); imagesetpixel($imres, $n++, $i, $pal[$p4]); imagesetpixel($imres, $n++, $i, $pal[$p5]); imagesetpixel($imres, $n++, $i, $pal[$p6]); imagesetpixel($imres, $n++, $i, $pal[$p7]); imagesetpixel($imres, $n++, $i, $pal[$p8]); } } } return $imres; } function get_default_bmp_data() { $filename = FCPATH.'assets/img/emblem/no_emblem.png'; if (file_exists($filename)) { return file_get_contents($filename); } } function display_empty_emblem() { $data = $this->get_default_bmp_data(); header("Content-Type: image/bmp"); header('Content-Length: '.strlen($data)); echo $data; exit; } function get_emblem($guildID) { if ($guildID < 0) $this->display_empty_emblem(); else { $interval = 12*60; $dirname = FCPATH.'assets/img/tmp/emblem'; $filename = "{$dirname}/{$guildID}.png"; if (!is_dir($dirname)) mkdir($dirname, 0700, true); elseif (file_exists($filename) && (time() - filemtime($filename)) < $interval) { header("Content-Type: image/png"); header('Content-Length: '.filesize($filename)); @readfile($filename); exit; } } $sql = "SELECT `emblem_len`, `emblem_data` FROM `guild` WHERE `guild_id` = ? LIMIT 1"; $bind = array((int)$guildID); foreach ($this->db->query($sql,$bind)->result() as $row) { $res = $row; break; } if (!$res || !$res->emblem_len) $this->display_empty_emblem(); else { $data = @gzuncompress(pack('H*', $res->emblem_data)); $image = $this->imagecreatefrombmpstring($data); header("Content-Type: image/png"); if ($interval) imagepng($image, $filename); imagepng($image); exit; } } } ?> Edited November 2, 2012 by Emistry Please use [CODEBOX] or Attachments for long contents.
Thanna Posted November 2, 2012 Posted November 2, 2012 its because you don't have GD installed on your webhost
Feefty Posted November 2, 2012 Author Posted November 2, 2012 its because you don't have GD installed on your webhost its already installed.
Feefty Posted November 5, 2012 Author Posted November 5, 2012 (edited) bump. i still need help Y_Y - FIXED - i changed my directory chmod to 755 Edited November 5, 2012 by Feefty
Question
Feefty
im using the code from flux and this is what i get http://prntscr.com/irc1a and im also using codeigniter
Edited by EmistryPlease use [CODEBOX] or Attachments for long contents.
3 answers to this question
Recommended Posts