【发布时间】:2023-03-13 14:42:01
【问题描述】:
我有一个桌面应用程序。在该应用程序中,我将图像存储为十六进制,并且运行良好。但现在我想将桌面应用程序转换为 php 中的 Web 应用程序。当我将该十六进制代码转换为图像时,该图像未完成意味着图像是从底部裁剪的。
以下是我用来渲染图像的 php 代码
<?php
$image="visit on given link to get the hexadecimal code";
$bin = pack("H*", $image);
?>
<img src="data:image/jpeg;base64,<?php echo base64_encode($bin);?>" />
十六进制代码在这里 https://drive.google.com/file/d/1UU0tqTlZb-rvQIzT-6yaS8wIKGVlAZK6/view?usp=sharing
以下是执行上述代码后得到的图像
完整的图片在这里
https://drive.google.com/file/d/1z-byehRMIBJqF-GlMGbGFa8hNUKpXn_w/view?usp=sharing
【问题讨论】:
-
在开始调试您的代码之前,您的客户是否尝试再次在他们的应用程序中打开图像以查看它是否正确保存?
-
" />
-
是的,在桌面应用程序中,同样的十六进制代码运行良好。
-
@BhaveshTailor - 您不能将二进制数据直接回显到
src-tag 中。它应该是 base64 编码的(就像 OP 一样)。 -
header("内容类型:图片/jpeg"); $data = "/9j/4AAQSkZJRgABAQEAYABgAAD........";回声 base64_decode($data);在第二种情况下,请改用: echo '';