我正在創建一個應用程序,它需要通過php腳本將大圖像轉換爲縮略圖,然後將其編碼爲base64,以便我可以通過json將它發送到我的android應用程序。 我有調整圖像大小的問題。我需要PHP腳本,幫助我做到這一點如何通過php腳本調整圖像大小
回答
你可以試試這個圖像調整大小功能tutorial
而且你也可以使用這個代碼調整大小函數(GD)。
<?php
$thumb = new Imagick();
$thumb->readImage('myimage.gif'); $thumb->resizeImage(320,240,Imagick::FILTER_LANCZOS,1);
$thumb->writeImage('mythumb.gif');
$thumb->clear();
$thumb->destroy();
?>
Or, a shorter version of the same:
<?php
$thumb = new Imagick('myimage.gif');
$thumb->resizeImage(320,240,Imagick::FILTER_LANCZOS,1);
$thumb->writeImage('mythumb.gif');
$thumb->destroy();
?>
並且還指此鏈接用於調整尺寸圖像
2. 9Lession
而且也變換爲Base64編碼圖像下面參考本Links
您也可以使用[$ this-> cropThumbnailImage](http://php.net/manual/en/imagick.cropthumbnailimage.php)代替'resizeImage'來避免拉伸縮略圖。 – Flimm
你可以嘗試imagick - http://php.net/manual/en/imagick.resizeimage.php調整圖像大小。示例代碼:如果您使用的GD
<?php
$thumb = new Imagick();
$thumb->readImage('myimage.gif');
$thumb->resizeImage(320,240,Imagick::FILTER_LANCZOS,1);
$thumb->writeImage('mythumb.gif');
$thumb->clear();
$thumb->destroy();
?>
代碼會
<?php
// File and new size
$filename = 'test.jpg';
// Content type
header('Content-Type: image/jpeg');
// Get new sizes
list($width, $height) = getimagesize($filename);
$newwidth = YOUR REQUIRED WIDTH;
$newheight = YOUR REQUIRED HEIGHT;
// Load
$thumb = imagecreatetruecolor($newwidth, $newheight);
$source = imagecreatefromjpeg($filename);
// Resize
imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
// Output
imagejpeg($thumb);
?>
可以使用例如TimThumb
timthumb.php?src=img.jpg&h=height&w=width
那麼你應該編碼圖像: 要創建縮略圖到base64: How to convert an image to base64 encoding?
的代碼創建一個名爲createThumbs的函數,該函數將獲得th ree參數。第一個和第二個相應地是包含原始圖像的目錄的路徑以及放置縮略圖的目錄的路徑。第三個參數是您想要的縮略圖圖像的寬度。
<?php
function createThumbs($pathToImages, $pathToThumbs, $thumbWidth)
{
// open the directory
$dir = opendir($pathToImages);
// loop through it, looking for any/all JPG files:
while (false !== ($fname = readdir($dir))) {
// parse path for the extension
$info = pathinfo($pathToImages . $fname);
// continue only if this is a JPEG image
if (strtolower($info['extension']) == 'jpg')
{
echo "Creating thumbnail for {$fname} <br />";
// load image and get image size
$img = imagecreatefromjpeg("{$pathToImages}{$fname}");
$width = imagesx($img);
$height = imagesy($img);
// calculate thumbnail size
$new_width = $thumbWidth;
$new_height = floor($height * ($thumbWidth/$width));
// create a new temporary image
$tmp_img = imagecreatetruecolor($new_width, $new_height);
// copy and resize old image into new image
imagecopyresized($tmp_img, $img, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
// save thumbnail into a file
imagejpeg($tmp_img, "{$pathToThumbs}{$fname}");
}
}
// close the directory
closedir($dir);
}
// call createThumb function and pass to it as parameters the path
// to the directory that contains images, the path to the directory
// in which thumbnails will be placed and the thumbnail's width.
// We are assuming that the path will be a relative path working
// both in the filesystem, and through the web for links
createThumbs("upload/","upload/thumbs/",100);
?>
+1爲好功能 –
的職位是有點老了,但如果有人想,我剛纔提出這個功能
function save_image_from_64($path, $name, $dimension, $original)
{
header("Content-Type: image/jpeg");
list($width,$height) = explode('x',$dimension); //Getting new height and width
$img = str_replace('data:image/jpeg;base64,', '', $original); //Getting the base64 image
$image = imagecreatefromstring(base64_decode($img));
$new_image = imagecreatetruecolor($width, $height);
imagecopyresampled($new_image, $image, 0, 0, 0, 0, $width, $height, imagesx($image), imagesy($image));
imagejpeg($new_image, $path.$name.'.jpg'); // saving the image
}
save_image_from_64("cdn/","test","800x200","data:image/jpeg;base64,/9j/4AAQS...");
- 1. php調整大小圖像腳本
- 2. PHP圖像調整大小腳本?
- 3. 無法通過動作腳本正確調整圖像大小
- 4. 使用imagemagick通過shell腳本調整圖像大小
- 5. 如何在此PHP腳本中調整圖像大小?
- 6. 谷歌腳本圖像調整大小
- 7. 通過javascript調整圖像大小或調整圖像尺寸
- 8. 調整圖像大小如果它大於X通過批處理腳本
- 9. 通過鼠標調整圖像大小
- 10. php調整大小圖像
- 11. PHP:調整圖像大小
- 12. PHP圖像調整大小
- 13. 如何通過調整大小使用Jcrop裁剪大圖像?
- 14. 需要一個PHP圖像調整大小/裁剪腳本
- 15. 使用php腳本調整圖像大小
- 16. 提高PHP圖像上傳/調整大小腳本的性能
- 17. 上傳uploadify通過php調整圖像大小
- 18. PHP圖像調整大小腳本從iPhone攝像頭上傳旋轉圖像
- 19. SDWebImage:UIImageView通過下載圖像的大小來調整大小
- 20. 如何通過window.resize函數調整圖像大小?
- 21. 用Java調整圖像大小。如何調整大小
- 22. 如何在調整窗口大小時調整圖像大小?
- 23. 如何根據圖像大小調整圖像視圖大小?
- 24. Php調整大小與圖像GD不顯示圖像,但調整大小
- 25. PHP圖像調整大小與存儲調整大小的圖像
- 26. PHP高級圖像調整大小,類似於iOS調整圖像的大小
- 27. 模態圖像中的箭頭(通過圖像調整大小)
- 28. 如何使用PHP調整圖像大小和裁剪圖像?
- 29. 如何在調整圖像大小時調整圖像大小使用drawImage
- 30. 通過調整圖像url來裁剪圖像以調整大小
什麼是您所使用的圖像處理庫? – San