gpt4 book ai didi

php - Base64 编码和查看图像

转载 作者:行者123 更新时间:2023-11-29 00:42:14 26 4
gpt4 key购买 nike

我目前正在尝试做的是:

拍摄一张照片,将其压缩为 PNG,使用 Base64 加密并通过 PHP 将其发送到数据库。这一切都像一个魅力。我还可以解码 Base64 字符串并完美显示照片。

但是,问题似乎是当我在浏览器上查看图片时,它的大小与应有的大小不一样(或者至少我认为是这样)。

这是我编码并在浏览器中显示的图像: enter image description here

无论是哪种手机(也在 Galaxy SII 上进行了测试),问题仍然存在。你们知道会发生什么吗?这是我有但不确定的一些想法......1. 过度压缩图像 - 或者当它压缩时它会改变一些东西 2.Base64 编码/解码弄乱了照片并且无法正确显示它 3. 当我将图像放在 ImageView 中时它会修改大小。

同样,似乎没有发送完整图像,因为即使是 Galaxy sII 图像也没有办法看起来那么小。

这是我使用的代码:安卓:

// CONVERT:
ByteArrayOutputStream bao = new ByteArrayOutputStream();
picture.compress(Bitmap.CompressFormat.PNG, 100, bao);
Log.d(TAG, "AFTER. Height: " + picture.getHeight() + " Width: " + picture.getWidth());
final byte[] ba = bao.toByteArray();

//encode to string
String photoTest = Base64.encodeToString(ba, Base64.DEFAULT);

//Camera on activity for result - save it as a bmp and place in imageview
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == CAMERA_PIC_REQUEST) {
// do something
}

if (resultCode == Activity.RESULT_OK) {
Log.d(TAG, "result ok");

Bundle b = data.getExtras();
picture = (Bitmap) b.get("data");
imageView.setImageBitmap(picture);
}
}

Android 中的 ImageView :

<ImageView
android:id="@+id/imageView1"
android:layout_width="100dp"
android:layout_height="100dp"
android:src="@drawable/icon"/>

PHP:

$image = base64_decode($_POST['image_data']);

感谢您的帮助!

最佳答案

Base64 保留二进制数据完好无损,它不会调整大小的噱头。我猜问题行是 picture.compress(Bitmap.CompressFormat.PNG, 100, bao);,但这不是我的领域。

关于php - Base64 编码和查看图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8647528/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com