Mega Code Archive

 
Categories / Java / PDF RTF
 

Graphics2D Circle Intersect

import java.awt.Color; import java.awt.FontMetrics; import java.awt.Graphics2D; import java.awt.geom.Area; import java.awt.geom.Ellipse2D; import java.io.FileOutputStream; import java.io.IOException; import com.lowagie.text.Document; import com.lowagie.text.DocumentException; import com.lowagie.text.FontFactory; import com.lowagie.text.pdf.DefaultFontMapper; import com.lowagie.text.pdf.PdfContentByte; import com.lowagie.text.pdf.PdfTemplate; import com.lowagie.text.pdf.PdfWriter; public class G2DCircleIntersectPDF {   public static void main(String[] args) {     Document document = new Document();     try {       PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("G2DCircleIntersectPDF.pdf"));       document.open();       DefaultFontMapper mapper = new DefaultFontMapper();       FontFactory.registerDirectories();       mapper.insertDirectory("c:\\windows\\fonts");       int w = 150;       int h = 150;       PdfContentByte cb = writer.getDirectContent();       PdfTemplate tp = cb.createTemplate(w, h);       Graphics2D g2 = tp.createGraphics(w, h, mapper);       tp.setWidth(w);       tp.setHeight(h);       double ew = w / 2;       double eh = h / 2;       Ellipse2D.Double circle, circle1;       circle = new Ellipse2D.Double(ew - 16, eh - 29, 50.0, 50.0);       g2.setColor(Color.green);       g2.fill(circle);       g2.setColor(Color.red);       circle1 = new Ellipse2D.Double(ew, eh, 50.0, 50.0);       g2.fill(circle1);              Area area1 = new Area(circle);       Area area2 = new Area(circle1);              g2.setColor(Color.BLUE);       area1.intersect(area2);       g2.fill(area1);              g2.dispose();       cb.addTemplate(tp, 50, 400);     } catch (Exception e) {       System.err.println(e.getMessage());     }     document.close();   } }                     itext.zip( 1,748 k)