【发布时间】:2018-09-19 14:05:00
【问题描述】:
现在我正在创建一个系统,例如在使用自定义编辑器编辑地图后,我需要以 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();
?>
我正在使用此代码生成图像
【问题讨论】:
-
您无法神奇地创建以前不存在的数据。如果放大图像,ppi 会降低。
-
为什么这个标签是 angular?!
-
能否提供代码示例、输入文件示例等...请确保您的问题能够得到解答。
-
gismasoft.com/demo/map-editor这是我工作的链接。
-
真正的地图是在这里使用传单js和mapbox制作的
标签: javascript php jquery html