`
u012041238
  • 浏览: 1049 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

Image和Base64 String之间的相互转换

 
阅读更多
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();
    }
}
分享到:
评论

相关推荐

    WPF Image Base64String 互转 Demo

    逆向操作,将Base64String转换回Image则涉及以下步骤: 1. 解码Base64String:使用Convert类的FromBase64String方法将Base64String还原为byte数组。 ```csharp byte[] imageBytes = Convert.FromBase64String(base...

    Java实现图片和Base64之间的相互转化

    在Java编程中,将图片与Base64编码进行相互转换是一项常见的任务,特别是在网络传输、存储和显示图像数据时。Base64是一种用于将任意二进制数据转换为可打印ASCII字符的编码方式,这对于在HTTP协议下传输二进制数据...

    labview 图片缩放 base64编码base64解码

    在这个特定的场景中,我们关注的是如何在LabVIEW中处理图片,包括图片的缩放、Base64编码和解码。 1. **图片缩放**: 在LabVIEW中,你可以使用图像处理库来实现图片的缩放功能。这个库提供了各种图像操作函数,...

    .netC#中图片与BASE64码互相转换

    在.NET框架下的C#语言中实现图片与BASE64编码之间的相互转换是一项常见的需求,尤其在需要通过网络传输图像数据时。以下将详细介绍如何利用C#编写代码来完成这一过程。 ### 一、图片转BASE64编码 #### 1.1 准备...

    Delphi图片与Base64互转及图片添加水印

    本话题主要探讨如何在Delphi中实现图片与Base64编码之间的转换,并且涉及到给图片添加水印的功能,包括水印图片和文字。这些功能在很多实际应用场景中非常常见,如网页上传图片、数据存储以及品牌保护等。 首先,...

    String Image之间相互转化

    在Java编程中,将字符串(String)与图像(Image)相互转换是一项常见的需求,特别是在处理用户输入、数据存储或显示图形信息时。这篇博文将探讨如何在Java中实现这一过程,主要涉及`Image`对象与`String`对象之间的转换...

    Android图片的Base64编码与解码及解码Base64图片方法

    Base64编码是一种常见的二进制数据转化为文本的方法,它通过使用64个可打印字符来表示原本的二进制数据,使得数据可以在纯文本环境中传输。以下是关于Android图片的Base64编码与解码的详细讲解。 ### 一、Base64...

    Delphi源码,图片转base64及base64转图片函数

    function Base64ToImage(const base64:string;AImage:TImage):Boolean; function Base64ToImageFile(const base64:string;AImagefile:string):Boolean; function CheckImgTypeBase64(abase64:string):string;

    c# Base64编码和图片的互相转换代码

    事出有因 ...将图片转化为Base64字符串的流程是:首先使用BinaryFormatter将图片文件序列化为二进制数据,然后使用Convert类的ToBase64String方法。将Base64字符串转换为图片的流程正好相反:使用Convert

    VB将二进制图片文件转换为Base64字符串文本

    在VB中,我们可以使用System.Text.Encoding类的GetBytes方法将字符串转换为字节数组,然后使用Convert.ToBase64String方法将字节数组转换为Base64字符串。相反,如果你想从Base64字符串恢复原始的二进制数据,可以...

    delphi图片转base64

    总结一下,Delphi中处理图片与Base64之间的转换主要依赖于Indy库,通过TIdEncoderMIME类和相关的解码方法,可以方便地进行二进制数据与Base64字符串的相互转换。这个过程对于在网络上传输图片或存储在文本格式的数据...

    JQ JS javascript 普通图片上传 图片格式转换 图片base64转换 jpg转base64 png转base64

    我们将讨论jpg和png图片如何转化为base64字符串,以便在网络上传输或存储。 首先,让我们了解什么是base64编码。Base64是一种数据编码方法,用于将二进制数据转换为ASCII字符串形式,以便在电子邮件、HTML或JSON等...

    base64转化为图片保存到本地

    一旦获取到Base64字符串,就可以调用上面的`Base64ToImage`函数,传入Base64字符串和目标保存路径,实现将Base64编码的图片保存到本地。 在项目中,为了提高代码质量,可以对这段代码进行优化,例如添加错误处理、...

    base64Image.zip

    在C++中,进行Base64和图片之间的转换涉及到几个关键步骤: 1. **Base64编码图片**: - 图片文件读取:首先,你需要使用C++的标准库`fstream`或第三方库如`libpng`来读取图片文件的二进制数据。 - 数据分块:Base...

    将图片进行Base64编码后传输

    encoded_string = base64.b64encode(image_file.read()) ``` `b64encode()`函数接受一个字节对象,并返回Base64编码的字符串。这个编码后的字符串可以直接插入到HTML的`<img>`标签的`data:`URI中,或者在HTTP请求...

    C#中图片.BYTE[]和base64string的转换方法

    在C#编程中,处理图像数据时经常需要在不同的数据格式之间进行转换,例如将图片文件转换为字节数组(BYTE[])或Base64编码的字符串(base64string)。这种转换对于在网络上传输图像数据,或者在数据库中存储和检索图像...

    Base64编码和解码的应用(前后端程序)

    为了在前端和后端之间传递Base64数据,通常会使用Ajax技术,如jQuery的`$.ajax`或原生的XMLHttpRequest。以下是一个使用jQuery发送Base64图片数据的例子: ```javascript let base64Image = 'data:image/jpeg;base...

    安卓图片和base64转换

    本文将深入探讨Android中图片与Base64之间的转换,并提供相关的实现方法。 一、Base64编码原理 Base64是一种基于64个字符的编码方式,这64个字符包括大小写字母、数字以及"+"和"/",末尾可能会添加一个等于号("=...

    VB任意图像转换为Base64文本

    - 将读取的二进制数据转换为Base64字符串,这可以通过自定义函数或使用.NET Framework提供的`Convert.ToBase64String()`方法完成。 - 最后,将Base64字符串显示在文本框或其他用户界面元素中,或者保存到文件。 在...

    H5移动端Base64压缩图片

    总结起来,H5移动端Base64压缩图片的技术关键在于使用canvas进行图像处理,然后通过Base64编码将图片数据转换为文本形式,实现在线查看和下载。这种方法在某些场景下具有一定的优势,但也有其局限性,需要根据具体...

Global site tag (gtag.js) - Google Analytics