我正在开发具有扩展名.tif(标记图像文件格式(TIFF))的输入文件的应用程序。基本问题是在所有浏览器中显示.tif文件,这些文件不适用于所有主流浏览器。我接受的解决方案是将它们转换为png
我正在使用PHP Laravel 5.5中的http://image.intervention.io/api/encode将.tif文件转换为png
图像干预依赖于想象用于tif编码,我已经安装了此依赖项,但编码方案是从tif文件转换/显示/存储第一个图像,而不是所有文件。
任何人都可以使用任何PHP库从tif到PNG或PDF转换解决方案吗?
答案 0 :(得分:1)
我在这里发现非常好article,解决这个问题的方法是,
$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()
方法传递了该blob。现有技术是$document->writeImages("to_pdf.pdf")
文件。最后,您可以清除文件变量
答案 1 :(得分:0)
我的建议是:你必须使用gdal2tiles.py将.tif文件转换为.png。
运行此命令时,会创建一个输出文件夹,在其中获取openlayers.html文件,打开它并轻松地在每个浏览器中查看.tif文件。
如果您需要任何与此相关的帮助,请发表评论。我会指导你。