Как изменить изображение на jpg и установить разрешение 300 на дюйм с помощью php?Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как изменить изображение на jpg и установить разрешение 300 на дюйм с помощью php?

Сообщение Anonymous »

У меня есть следующий код в контроллере под pngtojpgAction(), который я вызываю с помощью ajax.
Через это

Код: Выделить всё

$this->getRequest()->getParam('imagedata'));
оператор Я получаю такой шаблон data:image/jpeg;base64,/9j/4AAQSkZJR......AH9T796KtUV1HGf/Z
Это данные изображения PNG.
теперь я использую следующий код, чтобы преобразовать это изображение PNG в JPEG и увеличить разрешение до 300.

Код: Выделить всё

public function pngtojpgAction()
{
//Code to convert png to jpg image
$input = imagecreatefrompng($this->getRequest()->getParam('imagedata'));
$width=imagesx($input);
$height=imagesy($input);
$output = imagecreatetruecolor($width, $height);
$white = imagecolorallocate($output,  255, 255, 255);
imagefilledrectangle($output, 0, 0, $width, $height, $white);
imagecopy($output, $input, 0, 0, 0, 0, $width, $height);

ob_start();
imagejpeg($output);
$contents =  ob_get_contents();
ob_end_clean();
//echo 'data:image/jpeg;base64,'.base64_encode($contents); /*Up to here code works well*/

$jpgImage='data:image/jpeg;base64,'.base64_encode($contents);

$image = file_get_contents($jpgImage);

$image = substr_replace($image, pack("cnn", 1, 300, 300), 13, 5);

header("Content-type: image/jpeg");
header('Content-Disposition: attachment; filename="'.basename($jpgImage).'"');
echo  $image;

}
используя это

Код: Выделить всё

 $image = substr_replace($image, pack("cnn", 1, 300, 300), 13, 5);
Я хочу увеличить разрешение изображения до 300 точек на дюйм.
Я не могу изменить разрешение изображения с помощью этой строки кода

Код: Выделить всё

$jpgImage='data:image/jpeg;base64,'.base64_encode($contents);

$image = file_get_contents($jpgImage);

$image = substr_replace($image, pack("cnn", 1, 300, 300), 13, 5);

header("Content-type: image/jpeg");
header('Content-Disposition: attachment; filename="'.basename($jpgImage).'"');
echo  $image;
Я использовал эту ссылку в качестве ссылки. Измените разрешение изображения с помощью php.

Подробнее здесь: https://stackoverflow.com/questions/163 ... -using-php
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»