Hallo!!
Ich hab ein Problem mit meinem Tickerscript . Transparente Ticker werden nach dem generieren mit einem farbigen Hintergrund angezeigt .
Bastle jetzt schon seit Tagen mit allen möglichen Codes herum die das beheben sollen , aber es funktioniert nicht . Entweder zeigt er dann gar keine Ticker mehr an , oder der Hintergrund ist , schwarz , weiß oder blau .
Der Zeit sieht der betreffende Code so aus :
Code:
<?php
header("Content-type: image/jpg;");
$bg_img = $this->config->item('ticker_bg_path').$bg.".png";
$slider_img = $this->config->item('ticker_slider_path').$slider.".png";
// print $slider_img; exit;
$due_time = $due_time;
$adj_time = $adj_time;
$time_left = strtotime($due_time)-time()+$adj_time;
$days_left = $time_left>=0?round($time_left/(3600*24)):0;
$days_left = $days_left>$max_days?$max_days:$days_left;
$days_left = $days_left>12*30?12*30:$days_left;
$text_height = $this->config->item('ticker_text_height');
// bg
$image = @imagecreatefrompng($bg_img);
$imagewidth = imagesx($image);
$imageheight = imagesy($image);
// base_image
$baseimage = imagecreatetruecolor($imagewidth, $imageheight);
$imagefill = imagecolorresolve($baseimage, 255, 255, 255);
imagecolortransparent($baseimage, $imagefill);
// add bg
imagecopy($baseimage, $image, 0, 0, 0, 0, $imagewidth, $imageheight);
// add slider
if (!preg_match("@no_image@", $slider_img)){
$slider = @imagecreatefrompng($slider_img);
$sliderwidth = imagesx($slider);
$sliderheight = imagesy($slider);
$pos = 1-$days_left/$max_days;
$startwidth = round($pos*($imagewidth-$sliderwidth));
$startheight = (($imageheight - $sliderheight)/2);
imagecopy($baseimage, $slider, $startwidth, $startheight, 0, 0, $sliderwidth, $sliderheight);
}
// add text
if (preg_match("@\*custom_text\*@s", $add_text)){
$text = trim(preg_replace("@\*custom_text\*@s", "", $add_text));
}else{
$text = sprintf("%s %d Monate%n und %d Tage%n", $add_text, floor($days_left/30), floor($days_left/30)>1?"s":"", fmod($days_left, 30), fmod($days_left, 30)>1?"s":"\n".$this->config->item('site_name1'));
}
$font_size = 10 ;
$textcolor = imagecolorallocate($baseimage, 0, 0, 0);
imagettftext($baseimage, $font_size, 0, 30+($imagewidth-strlen(preg_replace("@\&\#.*?;@", "X", $text))*imagefontwidth($font_size/2.5))/2, $imageheight, $textcolor, getcwd().'/arial.ttf', $text);
// imagettftext($baseimage, $font_size, 0, 50+($imagewidth-strlen(preg_replace("@\&\#.*?;@", "X", $text))*imagefontwidth($font_size/2.5))/2, $imageheight, $textcolor, getcwd().'/arial.ttf', iconv("iso-8859-9", "UTF-8", $text));
// // add text
// $text = $add_text;
// $font_size = $this->config->item('ticker_font');
// $textcolor = imagecolorallocate($baseimage, 0, 0, 0);
// imagestring($baseimage, 2, ($imagewidth-strlen($text)*imagefontwidth($font_size))/2, $imageheight+imagefontheight($font_size), $text, $textcolor);
imagejpeg($baseimage);
imagedestroy($baseimage);
imagedestroy($image);
imagedestroy($slider);
Die betreffende Stelle ist // Base_image
Ich hoffe ihr könnt mir helfen .
Also am Browser liegt es nicht . Das Problem besteht im FF wie im IE . Und vor dem Generieren werden die Ticker ja korrekt angezeigt .