Solved

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

Posted on 2009-04-14
7
634 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

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

Revamp Your Training Process

Drastically shorten your training time with WalkMe's advanced online training solution that Guides your trainees to action.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
login form jsp example 2 55
ejb mdb examples 1 21
Glassfish admin console not working 1 61
Bitwise and to sum elements 2 17
Are you developing a Java application and want to create Excel Spreadsheets? You have come to the right place, this article will describe how you can create Excel Spreadsheets from a Java Application. For the purposes of this article, I will be u…
In this post we will learn different types of Android Layout and some basics of an Android App.
Viewers will learn one way to get user input in Java. Introduce the Scanner object: Declare the variable that stores the user input: An example prompting the user for input: Methods you need to invoke in order to properly get  user input:
This theoretical tutorial explains exceptions, reasons for exceptions, different categories of exception and exception hierarchy.

730 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