是否有任何功能在PHP中创建缩略图?

时间:2010-05-22 10:08:18

标签: php image

在php中是否有创建缩略图的功能?

3 个答案:

答案 0 :(得分:3)

没有单一的功能可以为您创建缩略图,但有几个功能属于GD库,如imagecreatetruecolorimagecopyresampled。你可以做的最好的事情是从一个教程开始,谷歌在这里最了解:

http://www.google.co.uk/search?q=gd+php+thumbnail

答案 1 :(得分:1)

你有一个用于图像创建的GD库函数...请按照URL

http://php.net/manual/en/book.image.php

答案 2 :(得分:0)

您可以使用以下代码来生成图像缩略图,而无需更改原始图像的纵横比。 $ img是存储原始图像的图像路径。

            $sourceAppImgPath = $this->images->absPath($img);
            $file_dimensions = getimagesize($sourceAppImgPath);
            $ImageType = strtolower($file_dimensions['mime']);

                switch(strtolower($ImageType))
                {
                    case 'image/png':
                        $image = imagecreatefrompng($sourceAppImgPath);
                        break;
                    case 'image/gif':
                        $image = imagecreatefromgif($sourceAppImgPath);
                        break;
                    case 'image/jpeg':
                        $image = imagecreatefromjpeg($sourceAppImgPath);
                        break;
                    default:
                        return false; //output error
                }

                    $origWidth = imagesx($image);
                    $origHeight = imagesy($image);
                    $maxWidth = 300;
                    $maxHeight =300;

                    if ($maxWidth == 0)
                        $maxWidth  = $origWidth;

                    if ($maxHeight == 0)
                        $maxHeight = $origHeight;

                    $widthRatio = $maxWidth / $origWidth;
                    $heightRatio = $maxHeight / $origHeight;
                    $ratio = min($widthRatio, $heightRatio);
                    $thumb_width  = (int)$origWidth  * $ratio;
                    $thumb_height = (int)$origHeight * $ratio;