Eurokicker
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 24.05.2005, 10:21   #1
Guest
 
Registriert seit: Mar 2004
Ort: Süddeutschland
Jakob macht alles soweit korrekt

Thumbnail-Generator


Dieses Script verändert die Größe eines Bildes. Die GET-Parameter sind alle erforderlich. 'w' steht für width und gibt die maximale Breite an, dasselbe gilt für 'h' (height), Höhe. 'file' gibt den Pfad zum Bild an.

Code:
Code:
<?php 
if(!empty($_GET['file']) && !empty($_GET['w']) && !empty($_GET['h'])) 
{ 
  if(preg_match("/.(jpg|jpeg)$/i", $_GET['file'], $regs)) $type = $regs[1]; 
  if(preg_match("/.(png)$/i", $_GET['file'], $regs)) $type = $regs[1]; 
  if(preg_match("/.(gif)$/i", $_GET['file'], $regs)) $type = $regs[1]; 
  switch($type) 
  { 
  case "png": 
     $function_image_create = "ImageCreateFromPng"; 
     $function_image_new = "ImagePNG"; 
  break; 
  case "gif": 
     $function_image_create = "ImageCreateFromGif"; 
     $function_image_new = "ImageGIF"; 
  break; 
  default: 
     $function_image_create = "ImageCreateFromJpeg"; 
     $function_image_new = "ImageJpeg"; 
  break; 
  } 
  header("Content-type: image/".$type); 
  resizeImage($_GET['file'], $_GET['w'], $_GET['h']); 
} 
else 
{ 
  echo "Bitte alle Daten eingeben!"; 
} 

function resizeImage($file, $maxw, $maxh) { 
  global $function_image_create; 
  global $function_image_new; 
  $imagesize = getimagesize($file); 
  $imgw = $imagesize[0]; 
  $imgh = $imagesize[1]; 
  $ratiow = $maxw / $imgw; 
  $ratioh = $maxh / $imgh; 
  if($ratiow < $ratioh) 
  { 
    $newh = $imgh * $ratiow; 
    $neww = $maxw; 
  } 
  elseif($ratioh < $ratiow) 
  { 
    $neww = $imgw * $ratioh; 
    $newh = $maxh; 
  } 
  elseif($ratiow == $ratioh) 
  { 
    $neww = $maxw; 
    $newh = $maxh; 
  } 
  $thumb = imagecreatetruecolor($neww, $newh); 
  $source = $function_image_create($file); 
  imagecopyresized($thumb, $source, 0, 0, 0, 0, $neww, $newh, $imgw, $imgh); 
  return $function_image_new($thumb); 
} 
?>
Für Tipps und Änderungsvorschläge bin ich jederzeit offen.

Geändert von Jakob (02.06.2005 um 13:45 Uhr).
Jakob ist offline   Mit Zitat antworten


Alt 24.05.2005, 10:28   #2
TP-Special Mod
 
Benutzerbild von steffenk
 
Registriert seit: Feb 2005
Ort: Haan / NRW
steffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine User
Herzlichen Dank.
Es wäre aber schöner, wenn Du das Script in einer CODE-Box platzieren würdest, da der Link auf direktem Weg nicht erreichbar ist, und so Dein Script auch dauerhaft hier einsehbar wäre
__________________

Typo3 · MySQLDumper · dislabs
·
manche Mühlen mahlen schneller ...
"Ich habe Rücken"
Horst Schlämmer
steffenk ist gerade online   Mit Zitat antworten
Alt 24.05.2005, 10:53   #3
Guest
 
Registriert seit: Mar 2004
Ort: Süddeutschland
Jakob macht alles soweit korrekt
Schon erledigt. Und danke für den Hinweis.
Jakob ist offline   Mit Zitat antworten
Alt 24.05.2005, 11:10   #4
TP-Veteran
 
Benutzerbild von fettmme
 
Registriert seit: Feb 2002
fettmme bringt sich richtig einfettmme bringt sich richtig ein
Danke
__________________
class GetProfileCustomerEntityReceiverInformationReceiverAndProgrammingInforma...{
public function __construct(){ if(!$this) die(' '); } }
http://www.thedailywtf.com/
fettmme ist offline   Mit Zitat antworten
Alt 01.06.2005, 14:35   #5
Guest
 
Registriert seit: Mar 2004
Ort: Süddeutschland
Jakob macht alles soweit korrekt
Jetzt hab' ich ein Problem mit meinem eigenen Script.
Die PNG Unterstützung ist aktiv aber ich bekomm' keine PNG-Bilder verkleinert.
Der Fehler liegt sicher im Script da die Grafikfunktionen einwandfrei mit PNG funktionieren.
Jakob ist offline   Mit Zitat antworten
Alt 01.06.2005, 20:10   #6
TP-Special Mod
 
Benutzerbild von steffenk
 
Registriert seit: Feb 2005
Ort: Haan / NRW
steffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine User
Schreibfehler: $function_image_create = "ImageCreateFromPng";
__________________

Typo3 · MySQLDumper · dislabs
·
manche Mühlen mahlen schneller ...
"Ich habe Rücken"
Horst Schlämmer
steffenk ist gerade online   Mit Zitat antworten
Alt 02.06.2005, 13:46   #7
Guest
 
Registriert seit: Mar 2004
Ort: Süddeutschland
Jakob macht alles soweit korrekt
(Ich hätt' das besser prüfen sollen )
Danke.

Ich hab's oben schon geändert.
Jakob ist offline   Mit Zitat antworten
Alt 26.11.2006, 22:32   #8
spy
TP-Newbie
 
Registriert seit: Nov 2006
spy macht alles soweit korrekt
hi, erstmal: super Script!

und auf das Lob folgt gleich ne Frage
gibts ne Möglichkeit dass das ganze auch funktioniert wenn für $_GET['file'] statt nem relativem pfad ne url (zB: http://xyz.com/xyz.jpg) eingegeben wird?
im moment verhält sich das script wie gleich wie wenn man nen relativen pfad angibt der nicht existiert (er gibt den textlink aus)

pS: bevor Fragen nach dem Sinn auftauchen: der Sinn ist das die Bilder auf nem anderen Server geladen werden und es dort keine Möglichkeit gibt irgendwelche Scripte oder so auszuführen..
spy ist offline   Mit Zitat antworten
Alt 26.11.2006, 22:45   #9
TP-Urgestein
 
Benutzerbild von webcreate
 
Registriert seit: Nov 2003
Ort: NRW
webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts
Wenn du das Script so nutzen willst, dauert es 3 Tage und der Server ist gehackt.
Wenn man aber mit diesem offenen Sicherheitsloch leben will, geht es schon.
Dazu muss der Server dann aber auch entsprechend konfiguriert sein:
http://www.dynamicwebpages.de/php/ref.filesystem.php (allow_url_fopen)

Aber dann doch lieber den nicht scriptfähigen Hosting-Vertrag updaten, kostet heute ja nun wirklich nichts mehr.
__________________
Gruß Mark
Mein Blog zum TP || XING Profil || grafiker.de Profil || How to use GOOGLE || PS Kniffe
emCalculator 1.0



webcreate IT SOLUTIONS
www.webcreate-nrw.de
webcreate ist offline   Mit Zitat antworten
Alt 27.11.2006, 07:49   #10
spy
TP-Newbie
 
Registriert seit: Nov 2006
spy macht alles soweit korrekt
oh, ok hab gehofft man braucht nur ne leichte Befehlsänderung oder so...
danke für dich schnelle Antwort
-
hab vorhin mal paar Bilder damit getestet und mir ist aufgefallen das Bilder mit transparentem Hintergrund automatisch schwarz als Hintergrundfarbe bekommen
hab nun auch schon was gefunden um die Hintergrundfarbe beliebig zu ändern.. allerdings noch nichts um den Hintergrund wirklich transparent zu machen

weiß vllt von euch einer wie / ob das möglich ist?
PHP-Code:
<?php
    
if(!empty($_GET['file']) && !empty($_GET['w']) && !empty($_GET['h']))
    {
        if(
preg_match("/.(jpg|jpeg)$/i"$_GET['file'], $regs)) $type $regs[1];
        if(
preg_match("/.(png)$/i"$_GET['file'], $regs)) $type $regs[1];
        if(
preg_match("/.(gif)$/i"$_GET['file'], $regs)) $type $regs[1];
        switch(
$type)
        {
        case 
"png":
            
$function_image_create "ImageCreateFromPng";
            
$function_image_new "ImagePNG";
        break;
        case 
"gif":
            
$function_image_create "ImageCreateFromGif";
            
$function_image_new "ImageGIF";
        break;
        default:
            
$function_image_create "ImageCreateFromJpeg";
            
$function_image_new "ImageJpeg";
        break;
        }
        
header("Content-type: image/".$type);
        
resizeImage($_GET['file'], $_GET['w'], $_GET['h']);
    }
    else
    {
        echo 
"Bitte alle Daten eingeben!";
    }

    function 
resizeImage($file$maxw$maxh) {
        global 
$function_image_create;
        global 
$function_image_new;
        
$imagesize getimagesize($file);
        
$imgw $imagesize[0];
        
$imgh $imagesize[1];
        
$ratiow $maxw $imgw;
        
$ratioh $maxh $imgh;
        if(
$ratiow $ratioh)
        {
            
$newh $imgh $ratiow;
            
$neww $maxw;
        }
        elseif(
$ratioh $ratiow)
        {
            
$neww $imgw $ratioh;
            
$newh $maxh;
        }
        elseif(
$ratiow == $ratioh)
        {
            
$neww $maxw;
            
$newh $maxh;
        }
        
$thumb imagecreatetruecolor($neww$newh);
        
$source $function_image_create($file);
        
$bg imagecolorallocate$thumb255255255 );
        
imagefilledrectangle$thumb00$neww$newh$bg );
        
imagecopyresized($thumb$source0000$neww$newh$imgw$imgh);
        return 
$function_image_new($thumb);
    }
?>
schon mal im Voraus danke =)

Geändert von spy (27.11.2006 um 11:38 Uhr).
spy ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Traum-Dynamik > Traum-Scripts
Thumbnail-Generator [Snippet] Thumbnail-Generator
« Systeminfos | Super-Simpler Template-Parser 1.0 =) »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 13:25 Uhr.

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 ©2008, Crawlability, Inc.
Traum-Projekt.com | Suchen | Archiv | Impressum | Kontakt | | | Nach oben |



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67