Seite 2 von 3

Verfasst: 29.12.2006 01:10
von Skippy
weisst du eigentlich wie das geht dort gif bilder zu verwenden?

Verfasst: 29.12.2006 02:42
von Jan500
hi

ja du änderst imagecreatefrompng in imagecreatefromgif ;)

ich habe einen cache eingebaut ;)

finde
define('IN_PHPBB', true);
$phpbb_root_path = '../';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
ersetze mit
header("Content-Type: image/png");
define('IN_PHPBB', true);
$phpbb_root_path = '../';
$cache_png = $phpbb_root_path . 'cache/sig.png';

$cache_time = strtotime("+ 0 days 0 hours 5 minutes 0 seconds", @filemtime($cache_png));

if(file_exists($cache_png) AND time() <= $cache_time)
{
readfile($phpbb_root_path . 'cache/sig.png');
}
else
{

include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
finde
header("Content-Type: image/png");
Imagepng($im,'',100);
ImageDestroy ($im);
ersetze mit
$breite = imagesx($im);
$hoehe = imagesy($im);
$farben= array();
for ($b= 0; $b < $breite; $b++)
{
for ($h= 0; $h < $hoehe; $h++)
{
$farben[] = imagecolorat($im, $b, $h);
}
}

$farben = count(array_count_values($farben));
($farben >= 256)? $farben = 256 : $farben = $farben;
imagetruecolortopalette($im,0, $farben);
Imagepng($im, $cache_png);
Imagepng($im);
ImageDestroy ($im);
}
der code beinhaltet schon die palettenvariante...
man kann angeben, wie alt die datei im cache sein darf
bei $cache_time gibt man die tage (eher unwahrscheinlich), stunden, minuten und sekunden an
voreingestellt hab ich 5minuten, ich denke das ist selbsterklärend.
der ordner cache im forenroot muss die chmod rechte 777 besitzen (muss er ja sowieso)

gruß Jan

Verfasst: 29.12.2006 04:16
von Skippy
@jan500 ja wie man verschiedene Bilder laden kann hab ich dann noch selbst gefunden

ich habs schon reingewurschtelt


aber hab grad im php handbuch gesehen das kann man automatisieren :D

dann kann man problemlos gif jpg png und swf(wer nutzt sowas) nutzen


suche

Code: Alles auswählen

$image = "../images/signature.png";
$im = imagecreatefrompng($image);

Code: Alles auswählen

$image = "../images/signature.png";
list($width, $height, $type) = @getimagesize($image);

switch ( $type )
{
   case 1:
      $im = imagecreatefromgif($image);
      break;
   case 2:
      $im = imagecreatefromjpeg($image);
      break;
   case 3:
      $im = imagecreatefrompng($image);
      break;
   default:
  		die('Error by define Imagetype it must be an jpg|gif|png');
      break;
}
und danke fürs caching

das nenn ich doch mal gelungenes Tuning :roll:

Bandbreite sparen, performance durch caching sparen, und problemlos andere Grafikformate nehmen können

Verfasst: 29.12.2006 11:25
von eiko
Das funzt wirklich! Das Bild ist jetzt nicht mehr 17 KB groß sondern nur noch 7 KB!
THX

Verfasst: 29.12.2006 12:35
von BennyProdo
closett hat geschrieben:Ob ISDN oder DSL 6000 das Kabel ist dasselbe ... scheiß Kupfer *g* .
Die sollten lieber mal auf Glasfaser umsteigen.
Denn mit Glasfaser kannste derzeit theoretisch (bald praktisch) unendlich viele Datenmengen senden und empfangen.
Ich glaube die haben mal eine 3000 KM lange Glasfaser genommen und damit wurde erfolgreich satte 450 GBit/s gesendet und empfangen.
Und das ganze auf einer einzigen Faser mit dem mit einem Durchmesser von 3 bis 9 µm
.
also das ist ja mal geil, dann kann man auch nen 33kb großes bild in der signatur haben, vorrausgesetzt jeder hat die glasfaser :grin:
also wenn soviel damit gesendet/emfangen werden kann, muss ich wohl bald umsteigen

Verfasst: 29.12.2006 12:37
von Kellergeist2
Jetzt ist soviel an dem Code hin- und hergewurschtelt worden, könnte einer bitte mal so freundlich sein und den vollständigen Code bereitstellen.
So brauchen auch alle anderen Besucher, welche dies einsetzen wollen, nicht durch unzählige Beiträge und Themen hüpfen, wo der ein oder andere Link nicht mehr funktioniert.

Danke im Voraus.

Verfasst: 29.12.2006 12:39
von Julian87
BennyProdo hat geschrieben:also wenn soviel damit gesendet/emfangen werden kann, muss ich wohl bald umsteigen
Man kann damit theoretisch unendlich viel Übertragen. Man benötigt nur passende Endgeräte die das ganze Umsetzen.
Und die sind teuer, deswegen wird heute auf Glasfaser nicht mit 450 GBit/s übertragen.
Aber in Zukunft wird es das auch sicherlich geben.

Falls dich das Thema interessiert: http://de.wikipedia.org/wiki/Lichtwellenleiter ;)

Verfasst: 29.12.2006 13:55
von BennyProdo
in ferner zukunft ist vieles möglich was heute praktisch nicht möglich ist :wink:

ich bin gespannt, das würde mir helfen unendlich viel senden und empfangen, die arbeit im i-net würde schneller gehen, und auch ein lahmer pc würde dadurch ein guter server werden, die upload quote ist ja sehr hoch denke ich mal! Naja wenns ja soo teuer ist kann ich es mir niucht leisten, bekomme so oder so alloes billiger bei meinem pc fritzen, bin da ja stammkunde wenn es um gedöns für pc´s geht

Verfasst: 29.12.2006 16:10
von Skippy
@Kellergeist2

also von mir kannstde das komplette haben

-mit caching
-automatische erkennung von jpg|gif|png|wbmp
-und reduzieren der qualität


alles bequem einstellbar in nem kleinen configabschnitt am anfang der Datei.

Muss das nur noch in die phpbb2Version des MODs nachtragen und dort die anleitung mal aktualisieren

Verfasst: 29.12.2006 16:21
von Kellergeist2
Skippy hat geschrieben:@Kellergeist2
[...]
Danke, du hast eine PN.