base64字符串转换为图片
时间: 2023-09-28 16:07:43 浏览: 615
可以使用Python的base64和Pillow库将base64字符串转换为图片。以下是一个简单的示例代码:
```python
import base64
from PIL import Image
from io import BytesIO
# 从base64字符串中读取图像数据
img_data = base64.b64decode(base64_str)
# 将图像数据加载到Pillow对象中
img = Image.open(BytesIO(img_data))
# 显示图像
img.show()
```
其中,`base64_str`是待转换的base64字符串。首先,使用`base64.b64decode`函数将字符串解码为二进制数据。然后,使用`BytesIO`将二进制数据转换为内存流,再使用`Image.open`函数将内存流中的图像数据加载到Pillow对象中。最后,使用`show`方法显示图像。
注意:如果要将图像保存为文件,可以使用`save`方法。例如,`img.save('output.jpg')`将图像保存为JPEG格式的文件。
相关问题
java如何将base64字符串转换为图片并且保存到服务器
可以使用以下代码将Base64字符串转换为图片并保存到服务器上:
```java
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Base64;
public class Base64Image {
public static void main(String[] args) throws IOException {
String base64Image = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA\n" +
"AAAFCAIAAAAP2aPbAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAIGNIUk0AAHolAACAgwA\n" +
"EP//AHP5+P3XAAAAjklEQVQImWNgwA7QzRtM/9nYGBgYGBoaGhgZmBgYGBoaGhj+fn\n" +
"5+TExMfHx8fLy8vb2NjY4ODh7OztfX19fX1/f3+/v7/AAz/xBhDRBvNRDAAAAABJRU\n" +
"5ErkJggg==";
// 解码Base64字符串
String[] parts = base64Image.split(",");
String imageType = parts[0].split(";")[0].split(":")[1];
String imageData = parts[1];
byte[] decodedBytes = Base64.getDecoder().decode(imageData);
// 将字节数组写入文件
String fileName = "image." + imageType.split("/")[1];
FileOutputStream fileOutputStream = new FileOutputStream("path/to/save/" + fileName);
fileOutputStream.write(decodedBytes);
fileOutputStream.close();
}
}
```
其中,`base64Image`是Base64字符串,`imageType`是图片类型,`imageData`是图片数据,`fileName`是保存的文件名,`path/to/save/`是保存路径。
要注意的是,`Base64.getDecoder()`需要Java 8及以上版本才支持。如果使用的是Java 7或更早版本,可以使用第三方库来解码Base64字符串,如Apache Commons Codec。
Base64字符串转换成图片
可以使用Python的base64和Pillow库来将Base64字符串转换成图片。
以下是一个示例代码:
```python
import base64
from PIL import Image
from io import BytesIO
# Base64字符串
base64_str = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA..."
# 去掉Base64前缀
img_str = base64_str.split(",")[1]
# 解码Base64字符串
img_data = base64.b64decode(img_str)
# 将数据解码成图片
img = Image.open(BytesIO(img_data))
# 显示图片
img.show()
```
请将`base64_str`替换成你要转换的Base64字符串。该代码将会把Base64字符串解码成一张图片并显示出来。如果你需要将图片保存到本地,可以使用`img.save()`方法。
阅读全文