现在我正在创建一个系统,例如使用自定义编辑器编辑地图后,我需要以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();
?>
我正在使用此代码生成图像
答案 0 :(得分:0)
我的想法是可以通过传单easyprint进行打印,但是现在需要使用originalState以更大的尺寸进行打印。请让我知道这怎么可能。