首页 > 解决方案 > 将图像转换为 png,然后再转换为原始类型 - Laravel,PHP

问题描述

我在laravel中使用图像干预来上传图像(jpg,bmp,gif)并将其转换为PNG类型,上传后可以将png图像发送给另一个用户。接收图像的用户然后将该PNG图像转换回原始上传类型。

例如,我正在上传大小为 1.5MB 的 JPG 图像,上传并转换为 PNG 后,它的大小为 5MB。当收到该 png 图像的用户将其转换回原始 JPG 类型时,转换后 JPG 图像的大小为 850KB(而不是 1.5MB)。问题是当图像转换回她的原始类型时,大小是不一样的。有没有办法在转换为 png 之前转换图像并获得相同的大小?

1.5MB(JPG) -> PNG -> 850KB??(JPG)

转换为 png: $png_image = (string) Img::make($image)->encode('png');

转换回原始类型: $originalImage = (string) Img::make($png_image_path)->encode($extension, 100);

标签: phplaravellaravel-5.6image-conversion

解决方案


推荐阅读