Snoop
Here to stay
|
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 $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 und so sollte es aussehen
Bearbeitet von Snoop am 24.02.2003, 18:30
|
atrox
in fairy dust... I trust!
|
sieht nach einem problem mit den colortable/palette aus; versuche imagecreatetruecolor(x_size,y_size) statt imagecreate(), wenn du mit jpeg arbeitest.
Bearbeitet von atrox am 24.02.2003, 19:07
|
vossi
been there, done that
|
komisch das selbe problem hatte ich mit gd2 auch obwohl das selbe beispiel unter der alten, und imho besseren, gd1 super funktionieren sollte
|
Snoop
Here to stay
|
yeah geht! thx an atrox
|
Snoop
Here to stay
|
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
been there, done that
|
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
in fairy dust... I trust!
|
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) 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.
Bearbeitet von atrox am 24.02.2003, 20:20
|
watchout
Legendundead
|
/update: (patent-dauer) goil noch was bezügl. gif: es gab die bestrebungen von compuserve (ich glaub zumindest dass die des sind ) 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...
|
atrox
in fairy dust... I trust!
|
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.
|