因此,我目前正在Synology nas网站上使用以下脚本来一次调整图像大小。每次处理上一个请求时,都会在另一个页面上由post函数调用它。
$originalFile = 'img1.jpg';
$smallFile = 'img1_small.jpg';
$percentage = 0.2;
$mktime = date('Y-m-d H:i:s', filemtime($originalFile));
$img = imagecreatefromjpeg($originalFile);
list($width, $height) = getimagesize($originalFile);
if(function_exists("exif_read_data")){
$exif = @exif_read_data($originalFile);
if(!empty($exif['Orientation'])) {
switch($exif['Orientation']) {
case 8:
$img = imagerotate($img,90,0);
list($height, $width) = getimagesize($originalFile);
break;
case 3:
$img = imagerotate($img,180,0);
break;
case 6:
$img = imagerotate($img,-90,0);
list($height, $width) = getimagesize($originalFile);
break;
}
}
}
$newWidth = ceil($percentage * $width);
$newHeight = ceil($percentage * $height);
$resized = imagecreatetruecolor($newWidth, $newHeight);
imagecopyresampled($resized, $img, 0, 0, 0, 0, $newWidth, $newHeight, $width, $height);
imagejpeg($resized, $smallFile, 100);
imagedestroy($resized);
图像是来自相机的图像,因此它们几乎是您可以获得的最高质量。 这里的问题是我无法在nas上运行imagick。我不知道如何为php安装它。
有什么聪明的方法可以加快我在这里执行的过程吗? 顺便说一句。我也正在运行一些sql脚本,因此我想继续使用php进行此操作。
答案 0 :(得分:0)
有一个社区存储库,具有imagick。 https://synocommunity.com/ https://synocommunity.com/package/imagemagick
第1步以管理员身份登录您的NAS并进入主菜单→ 打包中心→设置,然后将信任级别设置为Synology Inc.和 值得信赖的发布者。
步骤2在“程序包来源”选项卡中,单击“添加”,键入SynoCommunity作为 命名并http://packages.synocommunity.com/作为“位置”,然后按 单击确定。
第3步返回包装中心,享受SynoCommunity的 社区标签中的软件包。
根据您的Synology,可能将Docker用于此任务,而不是将Imagick直接安装到您的Synology上。