public Image load(Document node) { return new Image(getFileInputStream(node)); }
private void updatePlaceholder(Node newView) { if (view.getWidth() > 0 && view.getHeight() > 0) { SnapshotParameters parameters = new SnapshotParameters(); parameters.setFill(Color.TRANSPARENT); Image placeholderImage = view.snapshot(parameters, new WritableImage((int) view.getWidth(), (int) view.getHeight())); placeholder.setImage(placeholderImage); placeholder.setFitWidth(placeholderImage.getWidth()); placeholder.setFitHeight(placeholderImage.getHeight()); } else { placeholder.setImage(null); } placeholder.setVisible(true); placeholder.setOpacity(1.0); view.getChildren().setAll(placeholder, newView); placeholder.toFront(); } }
private void updateHSLCircleColor(int x, int y) { // transform color to HSL space Color color = huesCircleView.getImage().getPixelReader().getColor(x, y); double max = Math.max(color.getRed(), Math.max(color.getGreen(), color.getBlue())); double min = Math.min(color.getRed(), Math.min(color.getGreen(), color.getBlue())); double hue = 0; if (max != min) { double d = max - min; if (max == color.getRed()) { hue = (color.getGreen() - color.getBlue()) / d + (color.getGreen() < color.getBlue() ? 6 : 0); } else if (max == color.getGreen()) { hue = (color.getBlue() - color.getRed()) / d + 2; } else if (max == color.getBlue()) { hue = (color.getRed() - color.getGreen()) / d + 4; } hue /= 6; } currentHue = map(hue, 0, 1, 0, 255); // refresh the HSL circle refreshHSLCircle(); }
@Override protected Image call() throws Exception { updateTitle("Image Cache Loader"); //Check if matching Image is in cache Image image = getCachedImage(identifier); if(image != null) { if(image.getWidth() == identifier.getWidth() && image.getHeight() == identifier.getHeight()) { updateUsage(identifier); return image; } } //Create new Image image = new Image(identifier.getUrl(), false); image = ImageUtilities.fitInDimensionAndCutEdges(image, identifier.getWidth(), identifier.getHeight()); addToCache(identifier, image); return image; } };
public static Image progressiveResize(Image image, int width, int height, InterpolationType type) { if (width <= 0 || height <= 0) { throw new IllegalArgumentException("Dimension must be > 0 (" + width + "/" + height + ")"); } if (image.getWidth() == width && image.getHeight() == height) { return new WritableImage(image.getPixelReader(), width, height); } if (image.getWidth() * 2 < width && image.getHeight() * 2 < height) { Image resizedImage = fastResize(image, (int) image.getWidth() * 2, (int) image.getHeight() * 2); return progressiveResize(resizedImage, width, height); } if (image.getWidth() / 2 > width && image.getHeight() / 2 > height) { Image resizedImage = fastResize(image, (int) image.getWidth() / 2, (int) image.getHeight() / 2); return progressiveResize(resizedImage, width, height); } return resizeByAwt(image, width, height, type); }
private void calculateNewDimenstions(OpenPatricianRadioButton radioButton, String text, Image rbBG) { InputStream is; final int remainWidth = 28; // width that is left from the background final int destHight = 27; final double xStart = rbBG.getWidth(); final int yStart = 0; Dimension2D dim = sizing.calculate(text, radioButton.getFont()); double width = dim.getWidth(); double destWidth = width-remainWidth + 10; String fileName = imageFactory.getFileNameExt(destWidth,destHight,remainWidth); is = getClass().getResourceAsStream(fileName); Image slab = new Image(is, destWidth, destHight, false, true); slabView.setImage(slab); slabView.translateXProperty().set(xStart); slabView.translateYProperty().set(yStart); double posX = destWidth/2+(xStart-remainWidth-10); label.translateXProperty().set(posX); }
double destinationHeigth = dim4heigth.getHeight(); if (imgViewPlank != null) { double imageHeigth = imgViewPlank.getImage().getHeight(); destinationHeigth = Math.max(imageHeigth, destinationHeigth); Image img = new Image(is,dim.getWidth()+additionalWidth, dim.getHeight(), false, true); if (imgViewPlank == null) { imgViewPlank = new ImageView(img);
public double getWidth() { if (this.image != null) return image.getWidth(); else return 640; }
/** * Create an element that will layout the <code>childNode</code> * horizontally centered within a Dialog. * @param childNode that should be centered * @return wrapping Pane */ public Pane center(ImageView childNode) { final int width = IDialog.WRAPPING_WIDTH - 24; Pane g = new Pane(childNode); double in = (width - childNode.getImage().getWidth())/2; g.setLayoutX(in); childNode.getImage().widthProperty().addListener((observable, oldValue, newValue) -> { double inset = (width - childNode.getImage().getWidth())/2; g.setLayoutX(inset); }); return g; } /**
public double getHeight() { if (this.image != null) return image.getHeight(); else return 480; }
public OpenPatricianSmallWaxButtonSkin(final OpenPatricianSmallWaxButton button) { super(button); InputStream is = getClass().getResourceAsStream("sealingWaxFlattend.png"); Image img = new Image(is); final ImageView imageView = new ImageView(img); final Label label = new Label(); label.textProperty().bind(button.textProperty()); label.getStyleClass().add("OpenPatricianSmallWaxButtonLabeled"); label.onMouseClickedProperty().bind(button.onActionProperty()); label.textProperty().bind(button.textProperty()); imageView.onMouseReleasedProperty().bind(button.onActionProperty()); StackPane stack = new StackPane(); stack.getChildren().addAll(imageView, label); Group group = new Group(stack); group.setManaged(false); button.setPrefHeight(img.getHeight()); button.setPrefWidth(img.getWidth()); button.setMaxHeight(img.getHeight()); getChildren().add(group); }
/** * To pixmap. * * @param aImage the image * @return the rgb pixmap */ protected static RgbPixmap toPixmap( Image aImage ) { int theWidth = (int) aImage.getWidth(); int theHeight = (int) aImage.getHeight(); RgbPixel[][] thePixels = new RgbPixel[theWidth][theHeight]; RgbPixmap thePixmap = new RgbPixmapImpl( thePixels ); PixelReader theReader = aImage.getPixelReader(); for ( int x = 0; x < theWidth; x++ ) { for ( int y = 0; y < theHeight; y++ ) { thePixels[x][y] = new RgbPixelImpl( theReader.getArgb( x, y ) ); } } return thePixmap; }
public Image load() { return new Image(getFileInputStream()); }
public OpenPatricianLargeWaxButtonSkin(final OpenPatricianLargeWaxButton button) { super(button); InputStream is = getClass().getResourceAsStream("sealingWaxFlattend_long.png"); Image img = new Image(is); final ImageView imageView = new ImageView(img); final Label label = new Label(); label.textProperty().bind(button.textProperty()); label.idProperty().bind(button.idProperty()); label.getStyleClass().add("OpenPatricianLargeWaxButtonLabeled"); label.onMouseClickedProperty().bind(button.onActionProperty()); imageView.onMouseReleasedProperty().bind(button.onActionProperty()); StackPane stack = new StackPane(); stack.getChildren().addAll(imageView, label); Group group = new Group(stack); group.setManaged(false); button.setPrefHeight(img.getHeight()); button.setPrefWidth(img.getWidth()); getChildren().add(group); }
public static Image fastResize(Image image, int width, int height) { if (width <= 0 || height <= 0) { throw new IllegalArgumentException("Dimension must be > 0 (" + width + "/" + height + ")"); } PixelReader reader = image.getPixelReader(); WritableImage writableImage = new WritableImage(width, height); PixelWriter writer = writableImage.getPixelWriter(); double widthFactor = image.getWidth() / width; double heightFactor = image.getHeight() / height; int xToWrite = 0; while (xToWrite < width) { int yToWrite = 0; while (yToWrite < height) { writer.setArgb(xToWrite, yToWrite, reader.getArgb((int) (xToWrite * widthFactor), (int) (yToWrite * heightFactor))); yToWrite++; } xToWrite++; } return writableImage; }
private boolean scrolledAllToTheRight() { return clip.getX() >= imgView.getImage().getWidth() - clip.getWidth(); }
Image image = ... int rgb = image.getPixelReader().getArgb(x, y); // remove alpha; is this necessary??? rgb = rgb & 0xffffff;