Я создаю приложение, которое требует конвертировать большое изображение в миниатюру через 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 для изменения размера. Пример кода: Чтобы создать миниатюру:
<?php
$thumb = new Imagick();
$thumb->readImage('myimage.gif');
$thumb->resizeImage(320,240,Imagick::FILTER_LANCZOS,1);
$thumb->writeImage('mythumb.gif');
$thumb->clear();
$thumb->destroy();
?>
Если вы используете GD код будет
<?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
Тогда вы должны закодировать изображение к основанию64: How to convert an image to base64 encoding?
Код ниже создает функцию с именем createThumbs, которая получит 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. Как изменить размер изображения?
- 2. Как изменить размер изображения?
- 3. Как изменить размер изображения?
- 4. Как изменить размер изображения
- 5. Как изменить размер изображения
- 6. Как изменить размер изображения?
- 7. Как изменить размер изображения
- 8. Как изменить размер изображения
- 9. как изменить размер изображения
- 10. Изменить размер изображения - PHP
- 11. Как изменить размер изображения фона
- 12. Как изменить размер изображения qrencode.encode?
- 13. Как изменить размер растрового изображения?
- 14. Как изменить размер растрового изображения
- 15. Как изменить размер фонового изображения?
- 16. Blackberry - как изменить размер изображения?
- 17. Как изменить размер изображения UIBarButtonItem
- 18. Как изменить размер изображения JavaFX?
- 19. Как изменить размер изображения бренда?
- 20. Как изменить размер графического изображения?
- 21. Как изменить размер входного изображения
- 22. Как изменить размер изображения изображения в javafx?
- 23. Как изменить размер изображения относительно другого изображения?
- 24. JavaME Изменить размер изображения
- 25. Node.js Изменить размер изображения
- 26. Изменить размер загруженного изображения
- 27. Изменить размер файла изображения?
- 28. ImageResizer изменить размер изображения
- 29. Изменить размер изображения NSCollectionViewItem
- 30. Изменить размер растрового изображения
что библиотека обработки изображений вы используете? – San