繁体   English   中英

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

[英]How to increase the image size without loosing quality using php

现在我正在创建一个系统,就像在使用自定义编辑器编辑地图之后我需要以 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();    

?>

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

我有一个想法,它可以通过传单 easyprint 打印,但现在需要使用更大尺寸的 originalState 打印它。 请让我知道它是如何可能的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM