diedVIPs

html knowhow

Automatisch Umwandlung in Thumbnails








 script © 2013 by webdesign weisshart



Automatisch Umwandlung in Thumbnails

So sieht´s aus

Sehen tun Sie hier nichts. Dieses Script wandelt einen festgelegten Ordner mit Bildern verschiedener Größen automatisch in Thumbnail einer festgesetzten Größe um.


So sieht der Upload aus
ImageImageImageImageImageImageImageImage
Quellcode
<html>

<head>
<style type="text/css">
div.galerie{padding: 3px;background-color:#ebebeb; border:1px solid #CCC;float:left;margin:10px 10px 0 0; font-family:Arial, Helvetica, sans-serif;}
div.galerie:hover{border:1px solid #333;}
div.galerie span{display:block; text-align:center; font-size:10px;}
div.galerie a img{border:none;}
div.file {padding:4px 4px 4px 30px;}
div.file.even{background-color: #ebebeb;}
div.file a {text-decoration:none;}
div.file:hover {background-color:#CCC;}
</style>
</head>

<body >
<?php
// PHP-Fehlermeldungen anzeigen --> Alle erzwingen
error_reporting (E_ALL);
// Pfadangabe für die Original Bilder
$Image_Path = '../ANWENDDateien/upimg/';
// Pfadangabe für die Thumbnails
$Thumbnail_Path = '../ANWENDDateien/thimg/';
// Funktionsaufruf
foreach (glob ($Image_Path . "*.jpg") as $Image)
{
qThumb ($Image, $Thumbnail_Path, 60); // "$Image, Pfadangabe für die Thumbnails, Zahl = Breite / Höhe des Bildes in Pixel
}
// Funktion
function qThumb ($Image, $Thumbnail_Path, $ThumbEdgeLength)
{
// Masse ermitteln
$OriginalImagedInfo = getimagesize ($Image);
$OriginalImageWidth = $OriginalImagedInfo[0];
$OriginalImageHeight = $OriginalImagedInfo[1];
$PWidth= 100/$OriginalImageWidth*$ThumbEdgeLength; // Breite in Prozent des Endbildes bestimmen
$PHeight= 100/$OriginalImageHeight*$ThumbEdgeLength; // Höhe in Prozent des Endbildes bestimmen
$PosTop=0;
$PosLeft=0;
$BGC_RGB=array();
if($PHeight<100 || $PWidth<100)
{
// Mindesten 1 Seite ist größer als zugelassen
if($PHeight<$PWidth)
{
$ThumbnailImageHeight = round($OriginalImageHeight/100*$PWidth);
$ThumbnailImageWidth = $ThumbEdgeLength;
$PosTop=round(($ThumbEdgeLength-$ThumbnailImageHeight)/2); }
elseif($PHeight>$PWidth)
{
$ThumbnailImageWidth = round($OriginalImageWidth/100*$PHeight);
$ThumbnailImageHeight = $ThumbEdgeLength;
$PosLeft=round(($ThumbEdgeLength-$ThumbnailImageWidth)/2); }
else
{
$ThumbnailImageHeight = $ThumbEdgeLength;
$ThumbnailImageWidth = $ThumbEdgeLength; } }
else
{
$ThumbnailImageHeight = $OriginalImageHeight;
$ThumbnailImageWidth = $OriginalImageWidth;
$PosLeft=round(($ThumbEdgeLength-$ThumbnailImageWidth)/2);
$PosTop=round(($ThumbEdgeLength-$ThumbnailImageHeight)/2);
if($PHeight>100 || $PWidth>100)
{
// Hintergrundfarbe zum Auffüllen bestimmen da das OriginalBild kleiner ist (RGB)
$BGC_RGB[0]=255;
$BGC_RGB[1]=255;
$BGC_RGB[2]=255;
// Alle 3 Werte = 0 -> schwarz, Werte = 255 -> weiss
} }
// Temporäres Bild vom Original erzeugen
$TempImage = imagecreatefromjpeg ($Image);
// Neues Bild erstellen
$Thumbnail = imagecreatetruecolor ($ThumbEdgeLength, $ThumbEdgeLength);
if(count($BGC_RGB)==3)
{
// Hintergund einfärben
$BGColor=ImageColorAllocate ($Thumbnail, $BGC_RGB[0], $BGC_RGB[1], $BGC_RGB[2]);
imagefill($Thumbnail,0,0,$BGColor); }
ImageCopyResampled($Thumbnail, $TempImage, $PosLeft, $PosTop, 0, 0, $ThumbnailImageWidth, $ThumbnailImageHeight, $OriginalImageWidth, $OriginalImageHeight);
// Neues Bild ausgeben
imagejpeg ($Thumbnail, $Thumbnail_Path . basename($Image), 80); // "$Thumbnail, Zielpfad, Zahl = Qualität des Bildes
imagedestroy ($Thumbnail); }
?>
<br/><br/>

<span class="auto-style33">So sieht der Upload aus</span><br/>
<?php
// open this directory
$myDirectory = opendir("../ANWENDDateien/thimg");
// get each entry
while($entryName = readdir($myDirectory)) {
$dirArray[] = $entryName; }
// close directory
closedir($myDirectory);
// count elements in array
$indexCount = count($dirArray);
?>
<?php
// loop through the array of files and print them all in a list
for($index=0; $index < $indexCount; $index++) {
$extension = substr($dirArray[$index], -3);
if ($extension == 'jpg'){ // list only jpgs
echo '<img style="width:100px" src="../ANWENDDateien/thimg/' . $dirArray[$index] . '" alt="Image" /><span></span>'; } }
?>
</body>

</html>







Kontakt    Datenschutz   Impressum