我正在上傳一張使用PHP的圖片的腳本,我想在保存之前將它調整爲寬度爲180的圖像。
我嘗試使用WideImage庫和 - > saveFileTO(...),但是當我在頁面中包含WideImage.php時,頁面變爲空白!
因此,這裏是我的腳本,如果你能幫助我,告訴我怎麼把它存的調整版本
PHP上傳和調整圖像
6
A
回答
6
可以使用PHP GD library對上傳調整圖像大小。
下面的代碼應該給你如何實現調整大小的一個想法:
// Get the image info from the photo
$image_info = getimagesize($photo);
$width = $new_width = $image_info[0];
$height = $new_height = $image_info[1];
$type = $image_info[2];
// Load the image
switch ($type)
{
case IMAGETYPE_JPEG:
$image = imagecreatefromjpeg($photo);
break;
case IMAGETYPE_GIF:
$image = imagecreatefromgif($photo);
break;
case IMAGETYPE_PNG:
$image = imagecreatefrompng($photo);
break;
default:
die('Error loading '.$photo.' - File type '.$type.' not supported');
}
// Create a new, resized image
$new_width = 180;
$new_height = $height/($width/$new_width);
$new_image = imagecreatetruecolor($new_width, $new_height);
imagecopyresampled($new_image, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
// Save the new image over the top of the original photo
switch ($type)
{
case IMAGETYPE_JPEG:
imagejpeg($new_image, $photo, 100);
break;
case IMAGETYPE_GIF:
imagegif($new_image, $photo);
break;
case IMAGETYPE_PNG:
imagepng($new_image, $photo);
break;
default:
die('Error saving image: '.$photo);
}
1
你可以使用我爲這樣一個任務,寫一個類:
http://code.google.com/p/image2/source/browse/#svn/trunk/includes/classes
<?php
try
{
$image = new Image2($path_to_image);
}
catch (NotAnImageException $e)
{
printf("FILE PROVIDED IS NOT AN IMAGE, FILE PATH: %s", $path_to_image);
}
$image -> resize(array("width" => 180)) -> saveToFile($new_path); // be sure to exclude the extension
$new_file_location = $image -> getFileLocation(); // this will include the extension for future use
1
你甚至不需要使用WideImage庫。
檢查這個腳本在這裏: http://bgallz.org/502/php-upload-resize-image/
您可以通過上傳圖片並保存到一個臨時的圖像文件開始。這個腳本運行一個表單,其中包含最大高度或最大寬度的輸入。因此,它會根據新的寬度/高度生成新的圖像文件,然後將臨時圖像複製到服務器上創建的新圖像文件中。
你看這下面的代碼:
// Create temporary image file.
$tmp = imagecreatetruecolor($newwidth,$newheight);
// Copy the image to one with the new width and height.
imagecopyresampled($tmp,$image,0,0,0,0,$newwidth,$newheight,$width,$height);
1
不使用任何圖書館 檢查這個腳本 http://dr-wordpress.blogspot.com/2013/12/image-resizing-using-php.html 只是給imges的質量從(0-99) 該代碼會自動調整圖像同時上傳
相關問題
- 1. 調整圖像上傳php
- 2. 調整上傳圖像的大小 - PHP
- 3. 使用php調整上傳的圖像
- 4. PHP上傳大圖像和調整像Photoshop一樣的比例
- 5. 上傳調整圖像S3
- 6. ASP.NET核心圖像上傳和調整
- 7. Django圖像上傳和調整大小
- 8. php在上傳時或上傳前調整圖像大小
- 9. PHP圖像上傳/調整大小創建黑色圖像
- 10. 圖像上傳後圖像大小調整php內存限制
- 11. 用PHP上傳,調整圖像大小和裁剪圖像的中心
- 12. 多圖像上傳和調整圖像:SECURITY
- 13. PHP調整圖像
- 14. php圖片調整大小不能在圖像上傳
- 15. 角2圖像調整上傳前
- 16. 調整圖像大小並上傳
- 17. Symfony2 - 上傳後調整圖像大小
- 18. 上傳後調整圖像大小!
- 19. 將圖像上傳並調整爲S3
- 20. Symfony2:調整上傳圖像的大小
- 21. 如何調整要上傳的圖像
- 22. Django:上傳前調整圖像大小
- 23. C# - 上傳後調整圖像大小
- 24. 的Android上傳圖像AWS-調整
- 25. 上傳的WordPress圖像大小調整
- 26. symfony圖像上傳調整大小
- 27. PHP圖像調整大小腳本從iPhone攝像頭上傳旋轉圖像
- 28. 如何在使用php上傳時調整圖像大小
- 29. 上傳uploadify通過php調整圖像大小
- 30. PHP調整圖像大小並上傳到s3不起作用