Image to Base64 String
public string ImageToBase64(Image image,
System.Drawing.Imaging.ImageFormat format)
{
using (MemoryStream ms = new MemoryStream())
{
// Convert Image to byte[]
image.Save(ms, format);
byte[] imageBytes = ms.ToArray(); // Convert byte[] to Base64 String
string base64String = Convert.ToBase64String(imageBytes);
return base64String;
}
}
Base64 String to Image
public Image Base64ToImage(string base64String)
{
// Convert Base64 String to byte[]
byte[] imageBytes = Convert.FromBase64String(base64String);
MemoryStream ms = new MemoryStream(imageBytes, 0,
imageBytes.Length);
// Convert byte[] to Image
ms.Write(imageBytes, 0, imageBytes.Length);
Image image = Image.FromStream(ms, true);
return image;
}
Use sun.misc Classes for Base64 Image Conversion
import java.io.*;
import java.awt.*;
import java.awt.event.*;
class Base64Example extends Frame implements ActionListener{
Image IMG=null; //image1
Image IMGdecode=null; //image2-result
TextArea TA=new TextArea(); //printing the Base64 form
Button B=new Button("Decoder");
byte[] buffer_code=new byte[1024];
byte[] buffer_decode;
boolean bool=false;
//constructorul
public Base64Example(String titlu)
{
super(titlu);
}
void init()
{
Dimension dim=Toolkit.getDefaultToolkit().getScreenSize();
setSize(550,460);
setLocation(dim.width/2-275,dim.height/2-280);
setLayout(null);
setResizable(false);
TA.setSize(300,390);
TA.setLocation(10,60);
add(TA);
B.setSize(60,20);
B.setLocation(250,35);
B.addActionListener(this);
add(B);
Toolkit tk=Toolkit.getDefaultToolkit();
IMG=tk.getImage(".//java.jpg");
//load image1
MediaTracker mt=new MediaTracker(this);
mt.addImage(IMG,1);
try {mt.waitForAll();}
catch(InterruptedException e)
{
System.out.println(e.getMessage());
};
setVisible(true);
//encode
codeBase64(IMG);
}
private void codeBase64(Image i)
{
int cnt=0;
try{
InputStream is = new BufferedInputStream( new FileInputStream(".//java.jpg"));
while((cnt=is.read(buffer_code))!=-1)
{
String s = new sun.misc.BASE64Encoder().encode(buffer_code);
TA.append(s+"/n");
}
}catch(IOException e){System.out.println(e.getMessage());}
}
//decode
private void decodeBase64(String sb)
{
try{
buffer_decode=new sun.misc.BASE64Decoder().decodeBuffer(sb);
IMGdecode=Toolkit.getDefaultToolkit().createImage(buffer_decode);
bool=true;
repaint();
}catch(IOException e)
{System.out.println(e.getMessage());}
}
public void paint(Graphics g)
{
//drawing image1
g.drawImage(IMG,325,50,this);
//drawing same image but after decode
if(bool)g.drawImage(IMGdecode,325,240,this);
g.drawString("Before:",325,60);
g.drawString("After:",325,250);
g.drawString("Encode image:",10,55);
}
public void actionPerformed(ActionEvent e)
{
if(e.getActionCommand().equals("Decodare"))
{
//decode
decodeBase64(TA.getText());
}
}
}
public class Base64{
public static void main(String[] args){
Base64Example t=new Base64Example("Base64");
t.init();
}
}
分享到:
相关推荐
逆向操作,将Base64String转换回Image则涉及以下步骤: 1. 解码Base64String:使用Convert类的FromBase64String方法将Base64String还原为byte数组。 ```csharp byte[] imageBytes = Convert.FromBase64String(base...
在Java编程中,将图片与Base64编码进行相互转换是一项常见的任务,特别是在网络传输、存储和显示图像数据时。Base64是一种用于将任意二进制数据转换为可打印ASCII字符的编码方式,这对于在HTTP协议下传输二进制数据...
在这个特定的场景中,我们关注的是如何在LabVIEW中处理图片,包括图片的缩放、Base64编码和解码。 1. **图片缩放**: 在LabVIEW中,你可以使用图像处理库来实现图片的缩放功能。这个库提供了各种图像操作函数,...
在.NET框架下的C#语言中实现图片与BASE64编码之间的相互转换是一项常见的需求,尤其在需要通过网络传输图像数据时。以下将详细介绍如何利用C#编写代码来完成这一过程。 ### 一、图片转BASE64编码 #### 1.1 准备...
本话题主要探讨如何在Delphi中实现图片与Base64编码之间的转换,并且涉及到给图片添加水印的功能,包括水印图片和文字。这些功能在很多实际应用场景中非常常见,如网页上传图片、数据存储以及品牌保护等。 首先,...
在Java编程中,将字符串(String)与图像(Image)相互转换是一项常见的需求,特别是在处理用户输入、数据存储或显示图形信息时。这篇博文将探讨如何在Java中实现这一过程,主要涉及`Image`对象与`String`对象之间的转换...
Base64编码是一种常见的二进制数据转化为文本的方法,它通过使用64个可打印字符来表示原本的二进制数据,使得数据可以在纯文本环境中传输。以下是关于Android图片的Base64编码与解码的详细讲解。 ### 一、Base64...
function Base64ToImage(const base64:string;AImage:TImage):Boolean; function Base64ToImageFile(const base64:string;AImagefile:string):Boolean; function CheckImgTypeBase64(abase64:string):string;
事出有因 ...将图片转化为Base64字符串的流程是:首先使用BinaryFormatter将图片文件序列化为二进制数据,然后使用Convert类的ToBase64String方法。将Base64字符串转换为图片的流程正好相反:使用Convert
在VB中,我们可以使用System.Text.Encoding类的GetBytes方法将字符串转换为字节数组,然后使用Convert.ToBase64String方法将字节数组转换为Base64字符串。相反,如果你想从Base64字符串恢复原始的二进制数据,可以...
总结一下,Delphi中处理图片与Base64之间的转换主要依赖于Indy库,通过TIdEncoderMIME类和相关的解码方法,可以方便地进行二进制数据与Base64字符串的相互转换。这个过程对于在网络上传输图片或存储在文本格式的数据...
我们将讨论jpg和png图片如何转化为base64字符串,以便在网络上传输或存储。 首先,让我们了解什么是base64编码。Base64是一种数据编码方法,用于将二进制数据转换为ASCII字符串形式,以便在电子邮件、HTML或JSON等...
一旦获取到Base64字符串,就可以调用上面的`Base64ToImage`函数,传入Base64字符串和目标保存路径,实现将Base64编码的图片保存到本地。 在项目中,为了提高代码质量,可以对这段代码进行优化,例如添加错误处理、...
在C++中,进行Base64和图片之间的转换涉及到几个关键步骤: 1. **Base64编码图片**: - 图片文件读取:首先,你需要使用C++的标准库`fstream`或第三方库如`libpng`来读取图片文件的二进制数据。 - 数据分块:Base...
encoded_string = base64.b64encode(image_file.read()) ``` `b64encode()`函数接受一个字节对象,并返回Base64编码的字符串。这个编码后的字符串可以直接插入到HTML的`<img>`标签的`data:`URI中,或者在HTTP请求...
在C#编程中,处理图像数据时经常需要在不同的数据格式之间进行转换,例如将图片文件转换为字节数组(BYTE[])或Base64编码的字符串(base64string)。这种转换对于在网络上传输图像数据,或者在数据库中存储和检索图像...
为了在前端和后端之间传递Base64数据,通常会使用Ajax技术,如jQuery的`$.ajax`或原生的XMLHttpRequest。以下是一个使用jQuery发送Base64图片数据的例子: ```javascript let base64Image = 'data:image/jpeg;base...
本文将深入探讨Android中图片与Base64之间的转换,并提供相关的实现方法。 一、Base64编码原理 Base64是一种基于64个字符的编码方式,这64个字符包括大小写字母、数字以及"+"和"/",末尾可能会添加一个等于号("=...
- 将读取的二进制数据转换为Base64字符串,这可以通过自定义函数或使用.NET Framework提供的`Convert.ToBase64String()`方法完成。 - 最后,将Base64字符串显示在文本框或其他用户界面元素中,或者保存到文件。 在...
总结起来,H5移动端Base64压缩图片的技术关键在于使用canvas进行图像处理,然后通过Base64编码将图片数据转换为文本形式,实现在线查看和下载。这种方法在某些场景下具有一定的优势,但也有其局限性,需要根据具体...