如何在不损失质量的情况下使用php增加图像大小

时间:2018-09-19 14:05:01

标签: javascript php jquery html

现在我正在创建一个系统,例如使用自定义编辑器编辑地图后,我需要以4种不同的大尺寸打印地图,但是自定义后,当我要以大尺寸像素打印时效果不好或无法打印,我现在,我需要帮助编辑器来创建大尺寸的图像以进行打印。必须为300 dpi / ppi。

    <?php
// error_reporting(E_ALL);
// ini_set('display_errors', 1);

include '../../../wp-load.php';

$wp_content_path = wp_upload_dir();
// echo json_encode($wp_content_path['baseurl']);

$upload_dir = $wp_content_path['basedir']."/map-image-upload/";
$web_path = $wp_content_path['baseurl']."/map-image-upload/";
// echo $web_path;
// echo json_encode($upload_dir);

$w = $_POST['w'];
// echo json_encode($w);

$h = $_POST['h'];
// echo json_encode($h);

$img_data = $_POST['img_data'];
// echo json_encode($img_data);

$img_data = str_replace('data:image/png;base64,', '', $img_data);
// echo json_encode($img_data);

$img_data = str_replace(' ', '+', $img_data);
// echo json_encode($img_data);

$data = base64_decode($img_data);
// echo json_encode($data);

$timestamp  = date("Y-m-d_H:i:s");
// echo json_encode($timestamp);

$file = $upload_dir  .$timestamp . ".png";
$large_img_path = $web_path.'large_'.$timestamp . ".png";
// here i set large img path in session
$_SESSION['large_img_path'] = $large_img_path;
$_SESSION['large_img_name'] = 'large_'.$timestamp . ".png";
// echo $large_img_path;

$myfile = fopen($file, "w") ;
$ch = fwrite($myfile, $data);
echo json_encode($ch);
fclose($myfile);

// i use imagick extension here
header('Content-type: image/png');
$image = new Imagick($file);
$image->adaptiveResizeImage($w,$h);
$image->writeImage($upload_dir.'large_'.$timestamp . ".png");
$image->clear();
$image->destroy();    

?>

我正在使用此代码生成图像

1 个答案:

答案 0 :(得分:0)

我的想法是可以通过传单easyprint进行打印,但是现在需要使用originalState以更大的尺寸进行打印。请让我知道这怎么可能。