Ignore:
Timestamp:
05/10/18 16:04:51 (6 years ago)
Author:
davidb
Message:

Reworking of the code-base to separate logic from graphics. This version of Expeditee now supports a JFX graphics as an alternative to SWING

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/expeditee/io/HTMLWriter.java

    r919 r1102  
    1919package org.expeditee.io;
    2020
    21 import java.awt.Image;
    22 import java.awt.image.BufferedImage;
    2321import java.io.IOException;
    2422import java.util.List;
    2523
    2624import org.expeditee.actions.Misc;
     25import org.expeditee.core.Dimension;
     26import org.expeditee.core.Image;
     27import org.expeditee.core.Point;
     28import org.expeditee.gio.EcosystemManager;
     29import org.expeditee.gio.GraphicsManager;
     30import org.expeditee.gio.swing.SwingMiscManager;
    2731import org.expeditee.gui.FrameIO;
    2832import org.expeditee.items.FramePicture;
     
    6569                        image = pic.getImage();
    6670                        // Crop the image
    67                         BufferedImage bufferedImage = new BufferedImage(pic
    68                                         .getUnscaledWidth(), pic.getUnscaledHeight(),
    69                                         BufferedImage.TYPE_INT_ARGB);
    70                         bufferedImage.getGraphics().drawImage(image, 0, 0,
    71                                         pic.getUnscaledWidth(), pic.getUnscaledHeight(),
    72                                         pic.getStart().x, pic.getStart().y, pic.getEnd().x,
    73                                         pic.getEnd().y, null);
     71                        Image bufferedImage = Image.createImage(pic.getUnscaledWidth(), pic.getUnscaledHeight());
     72                        GraphicsManager g = EcosystemManager.getGraphicsManager();
     73                        g.pushDrawingSurface(bufferedImage);
     74                        g.drawImage(image,
     75                                                new Point(0, 0),
     76                                                new Dimension(pic.getUnscaledWidth(), pic.getUnscaledHeight()),
     77                                                0.0,
     78                                                pic.getStart(),
     79                                                new Dimension(pic.getEnd().x - pic.getStart().x, pic.getEnd().y - pic.getStart().y));
     80                        g.popDrawingSurface();
    7481                        image = bufferedImage;
    7582                } else {
     
    8188                // If its a bufferedImage then just write it out to the files directory
    8289                // This means it is probably a FrameImage
    83                 if (image instanceof BufferedImage) {
     90                if (!image.isStoredOnDisk()) {
    8491                        String link = pic.getAbsoluteLink();
    85                         // Account for the possiblitly of an unlinked buffered image
     92                        // Account for the possibility of an unlinked buffered image
    8693                        fileName = link == null ? ("Image" + pic.getID()) : link;
    87                         fileName = Misc.SaveImage((BufferedImage) image, "PNG",
    88                                         FrameIO.EXPORTS_DIR + filesFolder, fileName);
     94                        fileName = Misc.SaveImage(image, "PNG", FrameIO.EXPORTS_DIR + filesFolder, fileName);
    8995                } else {// It is a normal Image stored somewhere
    9096                        fileName = pic.getName();
Note: See TracChangeset for help on using the changeset viewer.