Feefty Posted November 2, 2012 Group: Members Topic Count: 47 Topics Per Day: 0.01 Content Count: 175 Reputation: 14 Joined: 11/21/11 Last Seen: April 18, 2020 Share 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. Link to comment Share on other sites More sharing options...
Thanna Posted November 2, 2012 Group: Members Topic Count: 45 Topics Per Day: 0.01 Content Count: 271 Reputation: 7 Joined: 01/06/12 Last Seen: May 16, 2015 Share Posted November 2, 2012 its because you don't have GD installed on your webhost Link to comment Share on other sites More sharing options...
Feefty Posted November 2, 2012 Group: Members Topic Count: 47 Topics Per Day: 0.01 Content Count: 175 Reputation: 14 Joined: 11/21/11 Last Seen: April 18, 2020 Author Share Posted November 2, 2012 its because you don't have GD installed on your webhost its already installed. Link to comment Share on other sites More sharing options...
Feefty Posted November 5, 2012 Group: Members Topic Count: 47 Topics Per Day: 0.01 Content Count: 175 Reputation: 14 Joined: 11/21/11 Last Seen: April 18, 2020 Author Share 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 Link to comment Share on other sites More sharing options...
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.
Link to comment
Share on other sites
3 answers to this question
Recommended Posts