Hallo,
Ich möchte gerne ein Bild aus einen Pfad holen, wie folgt:
und möchte dies als Variable deklarieren.
z.B. wird die index.gif zu image.
Damit ich dann, das Image in Base64 wandeln kann.
Zurzeit habe ich es so hier:
Das ist mir zuviel ich weiß, dass es kürzer geht und zwar so hier:
Nur wie mach ich das mit einen Image? (Gif, jpg, png etc.)
Ich möchte gerne ein Bild aus einen Pfad holen, wie folgt:
Java:
ImageIO.read(new FileInputStream(new File("C:\\Users\\USER\\workspace\\encode\\src\\index.gif")));
und möchte dies als Variable deklarieren.
z.B. wird die index.gif zu image.
Damit ich dann, das Image in Base64 wandeln kann.
Zurzeit habe ich es so hier:
Java:
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import org.apache.commons.codec.binary.Base64;
import sun.misc.BASE64Encoder;
import javax.imageio.ImageIO;
public class ImageTransformation{
private static BufferedImage toBufferedImage(Image src) {
int w = src.getWidth(null);
int h = src.getHeight(null);
int type = BufferedImage.TYPE_INT_RGB; // other options
BufferedImage dest = new BufferedImage(w, h, type);
return dest;
}
public static void main(String[] args) throws FileNotFoundException, IOException{
ImageIO.read(new FileInputStream(new File("C:\\Users\\MLeskowitz\\workspace\\encode\\src\\index.gif")));
public static String encodeToString(BufferedImage image, String type) {
String imageString = null;
ByteArrayOutputStream bos = new ByteArrayOutputStream();
try {
ImageIO.write(image, type, bos);
byte[] imageBytes = bos.toByteArray();
BASE64Encoder encoder = new BASE64Encoder();
imageString = encoder.encode(imageBytes);
};
Base64 b64 = new Base64();
ImageIO.write(image, "gif", bos);
//Das ist der Base64 codierte String der das Bild repräsentiert
String imageAsBase64 = b64.encodeToString(bos.toByteArray());
System.out.println(imageAsBase64);
}
}
}
Das ist mir zuviel ich weiß, dass es kürzer geht und zwar so hier:
Java:
erg = Base64.encode(text.getBytes());
System.out.println("Der BASE64 String: " + erg);
ursp = new String(Base64.decode(erg));
System.out.println("Der Text aus dem BASE64: " + ursp);
Nur wie mach ich das mit einen Image? (Gif, jpg, png etc.)
Zuletzt bearbeitet: