pirate man
Here to stay
|
hier ist der code für ein thumbnail-script: $PicPathIn="../bilder/";
$PicPathOut="../bilder/out/";
// Orginalbild
$bild="Foto.jpg";
// Bilddaten feststellen
$size=getimagesize("$PicPathIn"."$bild");
$breite=$size[0];
$hoehe=$size[1];
$neueBreite=100;
$neueHoehe=intval($hoehe*$neueBreite/$breite);
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\">";
aber dieses script ist nur für ein bild, da $bild den wert foto.jpg hat - seh ich das richtig? wenn ja, wie kann das ändern, damit es für mehr bilder ist?
|
Vir@s
Code Monkey
|
Hmm einfach in ne for schleife packen wo dann 1 image nach dem anderen abgearbeitet wird: $PicPathIn="../bilder/";
$PicPathOut="../bilder/out/";
// Orginalbild
$bilder= { "Foto.jpg", "Nocheinfoto.jpg" };
foreach ($bilder as $bild) {
// Bilddaten feststellen
$size=getimagesize("$PicPathIn"."$bild");
$breite=$size[0];
$hoehe=$size[1];
$neueBreite=100;
$neueHoehe=intval($hoehe*$neueBreite/$breite);
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\">";
}
des sollte es eigentlich tun =)
|
pirate man
Here to stay
|
foreach? was is denn das für eine schleife? hab ich noch nie gesehen
|
Vir@s
Code Monkey
|
foreach? was is denn das für eine schleife? hab ich noch nie gesehen foreach arbeitet jedes Element in einem array ab. und zwar nach folgendem Syntax: foreach ($array as $element); wobei $element immer das aktuelle element ist und für 1 schleifendurchlauf gültig ist. Foreach erspart viel Arbeit wenn man ein Array abarbeiten will =) Mfg, Vir@s http://www.php.net/manual/en/contro...res.foreach.php
|