1 修改WP Editor.md插件从剪切板粘贴图片上传的清晰度和质量

WP Editor.md markdown插件真的很好用,在WordPress编辑文章时支持从剪切板粘贴图片到编辑器中直接上传,这就是说我们可以使用qq截图或者其他截图工具对屏幕上的图片进行截图然后直接粘贴到文章中并上传到后台或者图床,这真的使得编辑文章省心省力。

但是发现WP Editor.md从剪切板粘贴图片上传的图片很模糊,很影响用户体验。WP Editor.md插件在后台设置也没有提供设置图片上传质量的选项,那么只能通过查看代码的方式看是否能修改了。

之后在WP Editor.md插件目录下的src/App/ImagePaste.php文件中的editormd_png2jpg函数中找到了相关的代码,

// 将Base64生成的PNG保存为JPG以减小体积,加快上传和访问的速度
private function editormd_png2jpg($filePath, $deleteOldFile=true) {
    $quality = 50;
    $newFilename = str_replace(".png", ".jpg", $filePath);

    $image = imagecreatefrompng($filePath);
    $bg = imagecreatetruecolor(imagesx($image), imagesy($image));

    imagefill($bg, 0, 0, imagecolorallocate($bg, 255, 255, 255));
    imagealphablending($bg, TRUE);
    imagecopy($bg, $image, 0, 0, 0, 0, imagesx($image), imagesy($image));
    imagedestroy($image);

    imagejpeg($bg, $newFilename, $quality);
    imagedestroy($bg);

    if ($deleteOldFile) {
        unlink($filePath);
    }

    return $newFilename;
}

其在代码内部默认设置从剪切板图片的质量为50%,难怪会很模糊,当然,质量越高,图片越大,加载的时间也就越长,所以需要设置为多大的quality还是需要根据自身的要求进行设定。如需修改图片上传质量,只需修改上述代码的第二行,

$quality = 50;

即可。quality 为可选项,范围从 0(最差质量,文件更小)到 100(最佳质量,文件最大)。默认为 IJG 默认的质量值(大约 75)。