Reputation: 4836
I'm having an image on disk. I want to convert it to a BufferedImage so that i can apply filters on it. Is there any way to do this?
Upvotes: 2
Views: 15608
Reputation: 31456
Java 2D™ supports loading these external image formats into its BufferedImage format using its Image I/O API
which is in the javax.imageio
package. Image I/O has built-in support for GIF, PNG, JPEG, BMP, and WBMP.
To load an image from a specific file use the following code:
BufferedImage img = null;
try {
img = ImageIO.read(new File("image.jpg"));
} catch (IOException e) {
e.printStackTrace()
}
Upvotes: 0
Reputation: 691
The safest way to convert a regular Image
to a BufferedImage
is just creating a new BufferedImage
and painting the Image
on it, like so:
Image original = ...;
BufferedImage b_img = new BufferedImage(original.getWith(), original.getHeight(), BufferedImage.TYPE_4BYTE_ARGB);
// or use any other fitting type
b_img.getGraphics().drawImage(original, 0, 0, null);
This may not be the best way regarding performance, but it is sure to always work.
Upvotes: 1
Reputation: 436
use ImageIO.read(File) . It returns BufferedImage :
BufferedImage image = ImageIO.read(new File(filename));
Upvotes: 5
Reputation: 8971
Try this, Use class "javax.imageio.ImageIO" like
BufferedImage originalImage = ImageIO.read(new File("c:\\image\\mypic.jpg"));
Also refer this link
http://www.dzone.com/snippets/converting-images
Upvotes: 2