Hi Ajay,
So, I guess I misunderstood your question. Once you have an Image object then all you need to do is call "imageView.setImage(image);"

Does that make sense?
~Roger

On 12/5/13 9:01 AM, Ajay Bhat wrote:
Hi,

I'm not really following this though. The goal is to set ImageView with my Image object that I created. It's done through the loadImage() function call as far as I can tell, but I don't understand how to pass that to an Imageview object. Can I get some more insight/code here?


On Wed, Sep 18, 2013 at 10:18 PM, Roger and Beth Whitcomb <[email protected] <mailto:[email protected]>> wrote:

    Hi Ajay,
        We have some code in our project that needs to combine two
    images into one, and this is a little snippet of what we do:

        private static GraphicsEnvironment ge = null;
        private static GraphicsDevice gd = null;
        private static GraphicsConfiguration gc = null;

        static {
            ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
            gd = ge.getDefaultScreenDevice();
            gc = gd.getDefaultConfiguration();
        }

        /**
         * Create an overlay image by combining the base with the overlay.
         * <p> Assumes the overlay image will have a transparent
    background where it should
         * let the base image show through.
         *
         * @param    baseImage    The basic image that will determine
    the size and type of the overlaid result.
         * @param    overlayImage    The overlay to apply to the base
    image.
         * @return            The resulting image, same type and size
    as the baseImage passed in.
         */
        public static BufferedImage createOverlayImage(BufferedImage
    baseImage, BufferedImage overlayImage) {
            BufferedImage resultImage =
    gc.createCompatibleImage(baseImage.getWidth(),
    baseImage.getHeight(), Transparency.TRANSLUCENT);
            Graphics2D graphics = resultImage.createGraphics();
            graphics.drawImage(baseImage, 0, 0, null);
            graphics.drawImage(overlayImage, 0, 0, null);
            return resultImage;
        }

        /**
         * Load an image file and convert to {@link BufferedImage} if
    possible.
         *
         * @param    imageName    The name of the image file to load.
         * @return            If the image is a {@link Picture} then
    return the
         *                {@link BufferedImage} representation of it.
         * @throws    IllegalArgumentException if the input image is
    not a bitmap.
         */
        public static BufferedImage getBufferedImage(String imageName) {
            Image img = loadImage(imageName);
            if (img instanceof Picture) {
            return ((Picture)img).getBufferedImage();
            }
            else
            throw new IllegalArgumentException(String.format("Image
    '%1$s' is not of the proper type.", imageName));
        }


        /**
         * Create an overlaid image from a base and an overlay (a
    state indicator).
         *
         * @param    baseName    The name of the base image file
    (retrieved from image cache
         *                if possible.
         * @param    overlayName    The name of the overlay image file.
         * @return            The overlaid image, suitable for use as
    an icon.
         */
        public static Image createOverlayImage(String baseName, String
    overlayName) {
            BufferedImage baseImage = getBufferedImage(baseName);
            BufferedImage overlayImage = getBufferedImage(overlayName);
            return new Picture(createOverlayImage(baseImage,
    overlayImage));
        }

        /** This is where we actually use the overlaid icon to set
    back into a Pivot icon. */
        public void setIcon(boolean enabled) {
            if (enabled) {
            branch.setIcon(loadImage(iconName));
            }
            else {
            branch.setIcon(createOverlayImage(iconName,
    "warning-overlay.gif"));
            }
        }

    Hopefully you can glean some insight out of this.  We're basically
    talking about standard Graphics2D stuff here, so not really Pivot
    specific.

    ~Roger


    On 9/18/13 2:16 AM, Ajay Bhat wrote:
    Hi,

    I'd like to use Graphics2D to draw an image on ImageView :

    <BoxPane styles="{horizontalAlignment:'center',
    verticalAlignment:'center'}">
    <ImageView bxml:id="imgview" preferredWidth="64"
    preferredHeight="64" styles="{fill:true}" />
    <Label text="My Image" />
    </BoxPane>

    My code is :
    ImageView imgview = (ImageView)
    bxmlSerializer.getNamespace().get("imgview");
    //put an image in imgview, with the graphic returned from below
    function

      public Graphics2D makegraphic() {
       Dimension d = new Dimension(200,200);
       //drew a graphics object using this dimension and returned it.
    }

    Can I get some help with this?
    -
    Ajay Bhat




--
Regards,
Ajay Bhat

Reply via email to