private Image getHuesCircle(int width, int height) { WritableImage raster = new WritableImage(width, height); PixelWriter pixelWriter = raster.getPixelWriter(); Point2D center = new Point2D((double) width / 2, (double) height / 2); double rsmall = 0.8 * width / 2; double rbig = (double) width / 2; for (int y = 0; y < height; y++) { for (int x = 0; x < width; x++) { double dx = x - center.getX(); double dy = y - center.getY(); double distance = Math.sqrt((dx * dx) + (dy * dy)); double o = Math.atan2(dy, dx); if (distance > rsmall && distance < rbig) { double H = map(o, -Math.PI, Math.PI, 0, 255); double S = 255; double L = 152; pixelWriter.setColor(x, y, HSL2RGB(H, S, L)); } } } return raster; }
private Image getSLCricle(int width, int height) { WritableImage raster = new WritableImage(width, height); PixelWriter pixelWriter = raster.getPixelWriter(); Point2D center = new Point2D((double) width / 2, (double) height / 2); for (int y = 0; y < height; y++) { for (int x = 0; x < width; x++) { double dy = x - center.getX(); double dx = y - center.getY(); pixelWriter.setColor(x, y, getColor(dx, dy)); } } return raster; }
@Override public void cache(Pane node) { if (!cache.containsKey(node)) { SnapshotParameters snapShotparams = new SnapshotParameters(); snapShotparams.setFill(Color.TRANSPARENT); WritableImage temp = node.snapshot(snapShotparams, new WritableImage((int) node.getLayoutBounds().getWidth(), (int) node.getLayoutBounds().getHeight())); ImageView tempImage = new ImageView(temp); tempImage.setCache(true); tempImage.setCacheHint(CacheHint.SPEED); cache.put(node, new ArrayList<>(node.getChildren())); node.getChildren().setAll(tempImage); } }
private void showDialog() { if (dialogContainer == null) { throw new RuntimeException("ERROR: JFXDialog container is not set!"); } if (isCacheContainer()) { tempContent = new ArrayList<>(dialogContainer.getChildren()); SnapshotParameters snapShotparams = new SnapshotParameters(); snapShotparams.setFill(Color.TRANSPARENT); WritableImage temp = dialogContainer.snapshot(snapShotparams, new WritableImage((int) dialogContainer.getWidth(), (int) dialogContainer.getHeight())); ImageView tempImage = new ImageView(temp); tempImage.setCache(true); tempImage.setCacheHint(CacheHint.SPEED); dialogContainer.getChildren().setAll(tempImage, this); } else { //prevent error if opening an already opened dialog dialogContainer.getChildren().remove(this); tempContent = null; dialogContainer.getChildren().add(this); } if (animation != null) { animation.play(); } else { setVisible(true); setOpacity(1); Event.fireEvent(JFXDialog.this, new JFXDialogEvent(JFXDialogEvent.OPENED)); } }
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(); } }
snapShotparams.setFill(Color.TRANSPARENT); WritableImage temp = monthContent.snapshot(snapShotparams, new WritableImage((int) monthContent.getWidth(), (int) monthContent.getHeight())); ImageView tempImage = new ImageView(temp);
new Thread(new Runnable() { @Override public void run() { WritableImage image = new WritableImage(...); /// draw on image.... myImageProperty.set(image); } });
WritableImage wi = new WritableImage((int)gc.getCanvas().getWidth(), (int)gc.getCanvas().getHeight()); gc.getCanvas().snapshot(null, wi); //Coping all that now in Canvas //gc is GraphicContext object from Canvas, it has drawing functions BufferedImage bi =SwingFXUtils.fromFXImage((Image)wi, null); SwingFXUtils.toFXImage(bi, (WritableImage)image);
Rectangle rect = new Rectangle(0,0,dataDisplayAreaAnchorPane.getWidth(),dataDisplayAreaAnchorPane.getHeight()); dataDisplayAreaAnchorPane.setClip(rect); WritableImage writableImage; writableImage = new WritableImage((int) dataDisplayAreaAnchorPane.getPrefWidth(), (int) dataDisplayAreaAnchorPane.getPrefHeight()); dataDisplayAreaAnchorPane.snapshot(null, writableImage); eventDispatcher.printLandscape(writableImage); **------------------------------------**
private void initializePalette() { colorPalette = new WritableImage(paletteSize, paletteSize); colorList.clear(); registeredColors.clear(); }
private static Image convertToJavaFXImage(byte[] raw, final int width, final int height) { WritableImage image = new WritableImage(width, height); try { ByteArrayInputStream bis = new ByteArrayInputStream(raw); BufferedImage read = ImageIO.read(bis); image = SwingFXUtils.toFXImage(read, null); } catch (IOException ex) { Logger.getLogger(App.class.getName()).log(Level.SEVERE, null, ex); } return image; }
WritableImage writableImage = new WritableImage(1000, 600); // here is your node such as PointLight new Circle(200, 200, 50).snapshot(null, writableImage); new Scene(chartVH, 1000, 600); chartVH.snapshot(null, writableImage); File outFile = new File("/tmp/aa.png"); System.out.println(outFile); try { ImageIO.write(SwingFXUtils.fromFXImage(writableImage, null), "png", outFile); } catch (IOException e) { e.printStackTrace(); }
sp.vvalueProperty().addListener(new ChangeListener<Number>() { public void changed(ObservableValue<? extends Number> ov, Number old_val, Number new_val) { fileName.setText(imageNames[(new_val.intValue() - 1)/100]); sp.snapshot(new SnapshotParameters(), new WritableImage(1, 1)); } });
@Override public Image convert(Frame frame) { int iw = frame.imageWidth; int ih = frame.imageHeight; PixelReader pr = new FramePixelReader(frame); WritableImage answer = new WritableImage(pr, iw, ih); return answer; }
public static WritableImage pixelScaleAwareCanvasSnapshot(Canvas canvas, double pixelScale) { WritableImage writableImage = new WritableImage((int)Math.rint(pixelScale*canvas.getWidth()), (int)Math.rint(pixelScale*canvas.getHeight())); SnapshotParameters spa = new SnapshotParameters(); spa.setTransform(Transform.scale(pixelScale, pixelScale)); return canvas.snapshot(spa, writableImage); }
public static WritableImage pixelScaleAwareCanvasSnapshot(Canvas canvas, double pixelScale) { WritableImage writableImage = new WritableImage((int)Math.rint(pixelScale*canvas.getWidth()), (int)Math.rint(pixelScale*canvas.getHeight())); SnapshotParameters spa = new SnapshotParameters(); spa.setTransform(Transform.scale(pixelScale, pixelScale)); return canvas.snapshot(spa, writableImage); }
public static Image filter(Image image, ImageFilter filter) { int width = (int) image.getWidth(); int height = (int) image.getHeight(); WritableImage filteredImage = new WritableImage(width, height); int[] inPixels = getRGB(image); int[] outPixels = filter.filter(width, height, inPixels); setRGB(filteredImage, 0, 0, width, height, outPixels); return filteredImage; }
public void setIcon(PImage icon) { int w = icon.pixelWidth; int h = icon.pixelHeight; WritableImage im = new WritableImage(w, h); im.getPixelWriter().setPixels(0, 0, w, h, PixelFormat.getIntArgbInstance(), icon.pixels, 0, w); Stage stage = (Stage) canvas.getScene().getWindow(); stage.getIcons().clear(); stage.getIcons().add(im); }
public void setCursor(PImage image, int hotspotX, int hotspotY) { int w = image.pixelWidth; int h = image.pixelHeight; WritableImage im = new WritableImage(w, h); im.getPixelWriter().setPixels(0, 0, w, h, PixelFormat.getIntArgbInstance(), image.pixels, 0, w); ImageCursor c = new ImageCursor(im, hotspotX, hotspotY); lastCursor = c; canvas.getScene().setCursor(c); }
public static Image clipImage(Image image, Rectangle2D clip) { WritableImage clippedImage = new WritableImage((int) clip.getWidth(), (int) clip.getHeight()); int[] rgbaValues = getRGB(image, (int) clip.getMinX(), (int) clip.getMinY(), (int) clip.getWidth(), (int) clip.getHeight()); setRGB(clippedImage, rgbaValues); return clippedImage; }