thumbnails mit gd, nicht die richtigen Farbe ?

Seite 1 von 1 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/thumbnails_mit_gd_nicht_die_richtigen_farbe_68713/page_1 - zur Vollversion wechseln!


Snoop schrieb am 24.02.2003 um 18:27

ich versuche gerade ein thumbnail script zu schreiben, hab aber leider ein paar probleme damit..
folgendes: ich kann inzwischen (durch ein tutorial) schon mal ein thumbnail erstellen, allerdings werden die farben nicht korrekt übernommen...
das script schaut folgendermaßen aus

Code: PHP
$PicPathIn=""; 
  $PicPathOut="../access/"; 
  // Orginalbild 
  $bild="Bild12.jpg"; 
  // Bilddaten feststellen 
  $size=getimagesize("$bild"); 
  $breite=$size[0]; 
  $hoehe=$size[1]; 
  $neueBreite=100; 
  $neueHoehe=100;

  if($size[2]==1) { 
  // GIF 
  $altesBild=ImageCreateFromGIF("$PicPathIn"."$bild"); 
  $neuesBild=ImageCreate($neueBreite,$neueHoehe); 
  ImageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,
$neueHoehe,$breite,$hoehe); 
  ImageGIF($neuesBild,"$PicPathOut"."TN"."$bild"); 
  } 

  if($size[2]==2) { 
  // JPG 
  $altesBild=ImageCreateFromJPEG("$PicPathIn"."$bild"); 
  $neuesBild=ImageCreate($neueBreite,$neueHoehe); 
  ImageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,
$neueHoehe,$breite,$hoehe); 
  ImageJPEG($neuesBild,"$PicPathOut"."TN"."$bild"); 
  } 

  if($size[2]==3) { 
  // PNG 
  $altesBild=ImageCreateFromPNG("$PicPathIn"."$bild"); 
  $neuesBild=ImageCreate($neueBreite,$neueHoehe); 
  ImageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,
$neueHoehe,$breite,$hoehe); 
  ImagePNG($neuesBild,"$PicPathOut"."TN"."$bild"); 
  } 

  echo "Altes Bild: <BR>"; 
  echo "<IMG SRC=\"$PicPathIn$bild\" WIDTH=\"$breite\" HEIGHT=\"$hoehe\">
<BR><BR>"; 
  echo "Neues Bild:<BR>"; 
  $Tumbnail=$PicPathOut."TN".$bild; 
  echo "<IMG SRC=\"$Tumbnail\" WIDTH=\"$neueBreite\" HEIGHT=\"$neueHoehe\">"; 

büdde helfts ma :) thx im vorraus....

so schaut dann das bild leider aus :(click to enlarge
und so sollte es aussehen :(click to enlarge


atrox schrieb am 24.02.2003 um 19:03

sieht nach einem problem mit den colortable/palette aus; versuche imagecreatetruecolor(x_size,y_size) statt imagecreate(), wenn du mit jpeg arbeitest.


vossi schrieb am 24.02.2003 um 19:09

komisch das selbe problem hatte ich mit gd2 auch obwohl das selbe beispiel unter der alten, und imho besseren, gd1 super funktionieren sollte


Snoop schrieb am 24.02.2003 um 19:19

yeah geht! thx an atrox :)


Snoop schrieb am 24.02.2003 um 19:24

und noch eine frage, wie kann ich gif bilder resizen ???? weil ImageCreateFromGIF(); habens ja rausgenommen wegen rechtlichen Geschichten oder ??? gibts da noch eine andere möglichkeit ?


vossi schrieb am 24.02.2003 um 19:34

nein GIF ist leider komplett kommerziell und du müsstest normalerweise für jedes GIF Bild das du auf einer Homepage verwendest bezahlen da eine Firma alle Copyrights besitzt.

Deshalb gibt es leider keine Möglichkeit mehr GIFs zu resizen bzw. wird es auch nicht geben.


atrox schrieb am 24.02.2003 um 19:35

ich finde da hat der autor überreagiert, weil das lesen von gif ja weiter lizenzfrei geblieben ist. wie auch immer - ich glaub 2004 läuft das lzw-patent für unisys ab, dann sollte auch das schreiben kein problem mehr sein. (ob der autor gif dann wieder freiwillig inkludiert?)
es gibt gif-read-patches für gd und in php 4.3.0 ist auch so eines integriert.
ansonsten kannst du unter unix versuchen mit kommandozeilen-utilities (wie zb giftopnm und pnmtopng das gif in ein png zu überführen)

/edit: da laut fachzeitschriften (zb computerwelt/austria) das lzw patent in .at sowieso nicht gültig ist, hier der link zum patch: http://www.rime.com.au/gd/

/update: (patent-dauer)

Zitat
http://cloanto.com/users/mcb/19950127giflzw.html
The LZW patent, as well as its international counterparts, and similar patents filed by others, are expected to remain valid for at least 20 years from the original filing date, i.e. until June 19, 2003.


watchout schrieb am 24.02.2003 um 22:54

Zitat von atrox
/update: (patent-dauer)
goil :D

noch was bezügl. gif: es gab die bestrebungen von compuserve (ich glaub zumindest dass die des sind :rolleyes: ) für jedes gif-bild lizenzgebühren zahlen zu müssen, das hat aber nicht so gut geklappt, also mussten sie sich damit zufrieden geben nur für jede software, die gifs bearbeiten/erstellen kann beim autor gebühren zu verlangen -> könnte gd gifs bearbeiten/erstellen (darunter fällt auch das resizen) dann müsste der programmierer dafür blechen - auch wenns open source is... :rolleyes:


atrox schrieb am 24.02.2003 um 23:03

na, es war unisys.
compuserve spezifizierte GIF mit einem vermeintlich lizenzfreien kompressionsalgorithmus (LZW) der in einer IEEE publikation erschienen war und dort sehr ausführlich beschrieben worden ist. die autoren hatten allerdings vergessen zu erwähnen (oder wußten es damals noch nicht), daß ihr arbeitgeber unisys das ding zum patent angemeldet hat.
ein jahrzehnt war unisys offiziell gar nicht bekannt, daß GIF "ihren" algorithmus (der aber zb auch bei TIFF und anderen anwednungen verwendet wird) benutzt. dann behaupteten sie, GIF sei von ihrem patent nicht betroffen, .. schließlich kassierten sie dann doch.




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2026