$value) { $temp=imageCreateFromPNG("images/$value.png"); $sbg = imageColorAllocate ($temp, 255, 0, 255); $sbg = imageColorTransparent($temp,$sbg); $smimages[$Sm[$key]]=$temp; $CFG['SRFSpace'][$Sm[$key]]=$SmSpacing[$key]; } return $smimages; } function hex2int($hex) { return array( 'r' => hexdec(substr($hex, 0, 2)), 'g' => hexdec(substr($hex, 2, 2)), 'b' => hexdec(substr($hex, 4, 2)) ); } function ImageItUp() { Global $CFG, $images, $Messages; $images['main']=imageCreateTrueColor($CFG['ImageInfo'][0], $CFG['ImageInfo'][1]); $images['them']=imageCreateFromPNG( $CFG['BackGround'] ); imageCopy($images['main'], $images['them'], 0, 0, 0, 0, $CFG['ImageInfo'][0], $CFG['ImageInfo'][1]); $Color1=str_replace("#", "", $CFG['C1']); $Color2=str_replace("#", "", $CFG['C2']); $Color1=$this->hex2int($Color1); $Color2=$this->hex2int($Color2); $Color1=imageColorAllocate($images['main'], $Color1['r'], $Color1['g'], $Color1['b']); $Color2=imageColorAllocate($images['main'], $Color2['r'], $Color2['g'], $Color2['b']); $Smilies= $this->LoadSmilies(); $x=$CFG['Text-Offset-Left']; $y=$CFG['Text-Offset-Top']; $iPos=$CFG['Text-Height']; foreach($Messages as $key=>$value) { $NowY=$key*$iPos + $y + ($key*$CFG['ExtraSpacing']); foreach($Smilies as $SMkey=>$SFV) { while(Substr_count($value, $SMkey)>=1) { $value=explode($SMkey, $value, 2); $smileypos=$CFG['Text-Width']*strlen($value[0])+1+$CFG['Text-Offset-Left']; imageCopyMerge($images['main'], $Smilies[$SMkey], $smileypos, $NowY-1, 0, 0, 15, 15, 100); $value=implode($CFG['SRFSpace'][$SMkey], $value); } } if($CFG['Text-Mode']=="gdf") { imagestring($images['main'], $CFG['Text-Font'], $x+1, $NowY, $value, $Color2); imagestring($images['main'], $CFG['Text-Font'], $x, $NowY, $value, $Color1); } else if($CFG['Text-Mode']="freetype") { ImageTTFText($images['main'], $CFG['Text-Height'], 0, $x+1, $NowY+$CFG['Text-Height'], $Color2, $CFG['Text-Font'], $value); ImageTTFText($images['main'], $CFG['Text-Height'], 0, $x, $NowY+$CFG['Text-Height'], $Color1, $CFG['Text-Font'], $value); } } return($images['main']); } function LoadConfig() { Global $CFG; $Prefs=file_get_contents($CFG['CFGFile']); $Prefs=explode("\n", $Prefs); $CFGC=""; foreach($Prefs as $value) { if($value[0]!="#") { $CFGC.=$value."\n"; } } preg_match('/Main_Color="((\#?[A-Fa-f0-9]){6})"/', $CFGC, $Match); $CFG['C1']=$Match[1]; preg_match('/Shadow_Color="((\#?[A-Fa-f0-9]){6})"/', $CFGC, $Match); $CFG['C2']=$Match[1]; preg_match('/Background_Image="(([A-Za-z0-9\.])+)"/', $CFGC, $Match); $CFG['BackGround']=$Match[1]; preg_match('/Output_Format="(([A-Za-z])*)"/', $CFGC, $Match); $CFG['Format']=$Match[1]; preg_match('/Text_Mode="((gdf|freetype)+)"/', $CFGC, $Match); $CFG['Text-Mode']=$Match[1]; preg_match('/Text_Font="(.*[^"])"/', $CFGC, $Match); $CFG['Text-Font']=$Match[1]; preg_match('/Text_Height="([0-9]+)"/', $CFGC, $Match); $CFG['Text-Height']=$Match[1]; preg_match('/Font_Extra_Spacing="([0-9]+)"/', $CFGC, $Match); $CFG['ExtraSpacing']=$Match[1]; preg_match('/Font_Char_Width="([0-9]+)"/', $CFGC, $Match); $CFG['Text-Width']=$Match[1]; preg_match('/Num_Text_Lines="([0-9]+)"/', $CFGC, $Match); $CFG['Text-Lines']=$Match[1]; preg_match('/Text_Offset_Top="([0-9]+)"/', $CFGC, $Match); $CFG['Text-Offset-Top']=$Match[1]; preg_match('/Text_Offset_Left="([0-9]+)"/', $CFGC, $Match); $CFG['Text-Offset-Left']=$Match[1]; preg_match('/Chat_File="(.*[^"])"/', $CFGC, $Match); $CFG['Chats-File']=$Match[1]; preg_match('/Smiley_List=(.*[^"])<\/string>/', $CFGC, $Match); $CFG['Smileys']=$Match[1]; preg_match('/Smiley_Files=(.*[^"])<\/string>/', $CFGC, $Match); $CFG['Smileyf']=$Match[1]; preg_match('/Smiley_Spacing="([ , ]*)"/', $CFGC, $Match); $CFG['SmileySpacing']=$Match[1]; } function HeadUpA() { Global $CFG; if($CFG['Format']=="PNG") { header("Content-type: Image/PNG"); } } function PrintYoJunk() { Global $CFG, $im; if($CFG['Format']=="PNG") { imagePNG( $im );} } function SelfDestruct() { Global $images, $im; ImageDestroy($images['main']); ImageDestroy($images['them']); ImageDestroy($im); } } ?>