我在应用程序上工作,其中输入文件具有扩展名.tif(标记的图像文件格式(TIFF))。基本问题是在所有主要浏览器上不适用于所有浏览器中显示.tif文件。我接受的解决方案是将它们转换为PNG
我使用http://image.intervention.io/api/encode in Php laravel 5.5
将.tif文件转换为png。图像干预取决于 imagick 用于TIF编码,我已经安装了此依赖项,但是编码方案是从TIF文件转换/显示/存储第一个图像,而不是所有文件。
。任何人都可以使用任何PHP库从TIF到PNG或PDF转换吗?
我在这里找到了非常好的文章,解决此问题的方法是
$file = Storage::disk('s3')->get(request()->file_name);
$file_pdf =storage_path("app/bundle/tmp/".end($name).".pdf");
$document =new Imagick();
$document->readImageBlob($file);
if (!$document->writeImages($file_pdf, true)) {
echo "Unable to write the file";
} else {
$document->clear();
}
return response()->file($file_pdf)->deleteFileAfterSend(true);
我使用laravel存储读取了S3文件流,并使用Imagick readImageBlob()
方法传递该斑点。艺术的状态是$document->writeImages("to_pdf.pdf")
文件。最后,您可以清除文件变量
我的建议是:您必须使用gdal2tiles.py将.tif文件转换为.png。
gdal2tiles文档
运行此命令时,请创建一个输出文件夹,在该文件夹中获取openlayers.html文件,将其打开并在每个浏览器中查看.tif文件。
如果您需要与此相关的任何帮助,请发表评论。我会指导你。