[Polycasso-commit] SF.net SVN: polycasso:[163] trunk/polycasso/src/com/mebigfatguy/polycasso/ PNGSa
Brought to you by:
dbrosius
|
From: <dbr...@us...> - 2009-12-08 07:14:52
|
Revision: 163
http://polycasso.svn.sourceforge.net/polycasso/?rev=163&view=rev
Author: dbrosius
Date: 2009-12-08 07:14:39 +0000 (Tue, 08 Dec 2009)
Log Message:
-----------
impl png saver
Modified Paths:
--------------
trunk/polycasso/src/com/mebigfatguy/polycasso/PNGSaver.java
Modified: trunk/polycasso/src/com/mebigfatguy/polycasso/PNGSaver.java
===================================================================
--- trunk/polycasso/src/com/mebigfatguy/polycasso/PNGSaver.java 2009-12-08 07:07:16 UTC (rev 162)
+++ trunk/polycasso/src/com/mebigfatguy/polycasso/PNGSaver.java 2009-12-08 07:14:39 UTC (rev 163)
@@ -18,17 +18,42 @@
*/
package com.mebigfatguy.polycasso;
+import java.awt.Color;
import java.awt.Dimension;
+import java.awt.Graphics2D;
+import java.awt.image.BufferedImage;
+import java.io.BufferedOutputStream;
+import java.io.FileOutputStream;
import java.io.IOException;
-import javax.swing.JOptionPane;
+import javax.imageio.ImageIO;
+import org.apache.commons.io.IOUtils;
+
public class PNGSaver implements Saver {
@Override
public void save(String fileName, Dimension imageSize, PolygonData[] data)
throws IOException {
- JOptionPane.showMessageDialog(null, "Not Implemented yet");
+
+ BufferedOutputStream bos = null;
+ try {
+ bos = new BufferedOutputStream(new FileOutputStream(fileName));
+
+ BufferedImage image = new BufferedImage(imageSize.width, imageSize.height, BufferedImage.TYPE_4BYTE_ABGR);
+ Graphics2D g2d = (Graphics2D)image.getGraphics();
+ g2d.setColor(Color.BLACK);
+ g2d.fillRect(0, 0, imageSize.width, imageSize.height);
+
+ for (PolygonData pd : data) {
+ pd.draw(g2d);
+ }
+
+ ImageIO.write(image, "png", bos);
+
+ } finally {
+ IOUtils.closeQuietly(bos);
+ }
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|