Solved

I'd like to overlay two images using the SRC_OVER Java 2D

Posted on 2009-04-14
7
620 Views
Last Modified: 2012-05-06
I am taking in two images .jpg and .png and I'd like rotate one and overlay it onto the other using SRC_OVER available in Java 2D. Then output this new image as a .png. It would be nice to see some pseudo code as I am not familiar with Java 2D.
0
Comment
Question by:DG1212
  • 4
  • 2
7 Comments
 
LVL 9

Expert Comment

by:arioh
ID: 24144357
0
 
LVL 17

Expert Comment

by:Thomas4019
ID: 24153624
Use javax.imageio.ImageIO to read and write your images.
Use each BufferedImage's Graphics2D Objects to draw the images.
0
 
LVL 17

Expert Comment

by:Thomas4019
ID: 24153626
Here is the Java documentation for Graphics2D.

http://java.sun.com/javase/6/docs/api/java/awt/Graphics2D.html
0
What Is Threat Intelligence?

Threat intelligence is often discussed, but rarely understood. Starting with a precise definition, along with clear business goals, is essential.

 

Author Comment

by:DG1212
ID: 24163454
Yeah I found that SRC_OVER example and it paints objects. I'd like an example of bringing in image files and using it.
0
 
LVL 17

Accepted Solution

by:
Thomas4019 earned 125 total points
ID: 24163945
Here is an example i wrote of what you want.
import java.io.*;

import java.awt.*;

import java.awt.image.*;

import javax.imageio.*;
 

class Example

{

	public static void main(String args[]) throws Exception

	{

		BufferedImage canvas = ImageIO.read(new File("Image1.jpg"));

		BufferedImage overlay = ImageIO.read(new File("Forest.jpg"));
 

		Graphics2D g = canvas.createGraphics();
 

		g.translate(overlay.getHeight()+(canvas.getWidth()-overlay.getHeight())/2,0);

		g.rotate(Math.toRadians(90));

		g.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER,.6f));
 

		g.drawImage(overlay,0,0,null);
 

		ImageIO.write(canvas,"PNG", new File("Output.png"));

	}

}

Open in new window

0
 
LVL 17

Expert Comment

by:Thomas4019
ID: 24163972
Here are the image files i used in my example.
Forest.jpg
Image1.jpg
Output.png
0
 

Author Closing Comment

by:DG1212
ID: 31570168
perfect. thank you!
0

Featured Post

6 Surprising Benefits of Threat Intelligence

All sorts of threat intelligence is available on the web. Intelligence you can learn from, and use to anticipate and prepare for future attacks.

Join & Write a Comment

Suggested Solutions

Java contains several comparison operators (e.g., <, <=, >, >=, ==, !=) that allow you to compare primitive values. However, these operators cannot be used to compare the contents of objects. Interface Comparable is used to allow objects of a cl…
By the end of 1980s, object oriented programming using languages like C++, Simula69 and ObjectPascal gained momentum. It looked like programmers finally found the perfect language. C++ successfully combined the object oriented principles of Simula w…
Viewers will learn about if statements in Java and their use The if statement: The condition required to create an if statement: Variations of if statements: An example using if statements:
Viewers will learn how to properly install Eclipse with the necessary JDK, and will take a look at an introductory Java program. Download Eclipse installation zip file: Extract files from zip file: Download and install JDK 8: Open Eclipse and …

757 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

20 Experts available now in Live!

Get 1:1 Help Now