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; }
WritableImage image = new WritableImage(width, height); PixelWriter pw = image.getPixelWriter();
int[] pixels = ... ; WritableImage img = new WritableImage(width, height); PixelWriter pw = img.getPixelWriter(); pw.setPixels(0, 0, width, height, PixelFormat.getIntArgbInstance(), pixels, 0, width);
private void update(Image input, WritableImage output, int x, int y) { int width = input.getWidth(null); int height = input.getHeight(null); WritableImage temp = new WritableImage(width, height); // same size as input SwingFXUtils.toFXImage(fragment, temp); output.getPixelWriter().setPixels(x, y, width, height, temp.getPixelReader(), 0, 0); }
public static void setRGB(WritableImage image, int x, int y, int width, int height, int[] rgb) { PixelWriter writer = image.getPixelWriter(); writer.setPixels(x, y, width, height, PixelFormat.getIntArgbInstance(), rgb, 0, width); }
public static Image transform(Image in) { int width = (int) in.getWidth(); int height = (int) in.getHeight(); WritableImage out = new WritableImage(width, height); for (int x = 0; x < width; x++) { for (int y = 0; y < height; y++) { Color c = in.getPixelReader().getColor(x, y); if (x <= 10 || x >= image.getWidth() - 10 || y <= 10 || y >= image.getHeight() - 10) c = Color.WHITE; /* else c = c; */ out.getPixelWriter().setColor(x, y, c); } } return out; }
BufferedImage read = ImageIO.read(f); int[] pixels = new int[width * height] ; PixelGrabber grabber = new PixelGrabber(read.getScaledInstance(width, height, Image.SCALE_SMOOTH), 0, 0, width, height, 0, pixels, width); grabber.grabPixels(); WritableImage fxImage = new WritableImage(width, height); PixelWriter pw = fxImage.getPixelWriter(); pw.setPixels(0, 0, width, height, PixelFormat.getIntArgbInstance(), pixels, 0, width);
public static Image crop(Image src, int col, int row) { PixelReader r = src.getPixelReader(); PixelFormat<IntBuffer> pixelFormat = PixelFormat.getIntArgbInstance() ; int[] pixels = new int[Grid.SIZE * Grid.SIZE]; r.getPixels(col * Grid.SIZE, row * Grid.SIZE, Grid.SIZE, Grid.SIZE, pixelFormat, pixels, 0, Grid.SIZE); WritableImage out = new WritableImage(Grid.SIZE, Grid.SIZE); PixelWriter w = out.getPixelWriter(); w.setPixels(0, 0, Grid.SIZE, Grid.SIZE, pixelFormat, pixels, 0, Grid.SIZE); return out ; }
private void renderImage(WritableImage img) { PixelWriter pw = img.getPixelWriter(); double w = img.getWidth(); double h = img.getHeight(); for (int ih = 0; ih < h; ih++) { for (int iw = 0; iw < w; iw++) { int value = (serializedRaster == null) ? Integer.MIN_VALUE : serializedRaster[ih * (int) w + iw]; // hue = Math.sin(yRatio*(gridSize*Math.PI))*Math.sin(xRatio*(gridSize*Math.PI))*Math.tan(hueFactor/20.0)*360.0 + hueOffset; // Color c = Color.hsb(hue, 1.0, 1.0); // Color black = Color.BLACK; // Color red = Color.RED; // Color c = (value == Integer.MIN_VALUE) ? red : black; java.awt.Color awtc = palette.getColorForValue(value); Color c = Color.rgb(awtc.getRed(), awtc.getGreen(), awtc.getBlue()); pw.setColor(iw, ih, c); } } }
import javafx.scene.image.ImageView; import javafx.scene.image.PixelWriter; import javafx.scene.image.WritableImage; import javafx.scene.layout.Pane; public class ResizableVlcPlayer extends Pane { private ImageView mImageView; private WritableImage mWritableImage; private PixelWriter mPixelWriter; public ResizableVlcPlayer() { mImageView = new ImageView(); // this auto resizes the image when the pane resizes mImageView.fitWidthProperty().bind(widthProperty()); mImageView.fitHeightProperty().bind(heightProperty()); getChildren().add(mImageView); mWritableImage = new WritableImage(1280,720); mImageView.setImage(mWritableImage); mPixelWriter = mWritableImage.getPixelWriter(); // Continue normal implementation by writing to the PixelWriter } }
private void writePixel(int pixelIndex, Color color) { int width = (int) colorPalette.getRequestedWidth(); int xStart = Math.floorMod(pixelIndex * pixelSize, width); int yStart = Math.floorDiv(pixelIndex * pixelSize, width) * pixelSize; for (int x = xStart; x < xStart + pixelSize; x++) { for (int y = yStart; y < yStart + pixelSize; y++) { colorPalette.getPixelWriter().setColor(x, y, color); } } }
private void writePixel(int pixelIndex, Color color) { int width = (int) colorPalette.getRequestedWidth(); int xStart = Math.floorMod(pixelIndex * pixelSize, width); int yStart = Math.floorDiv(pixelIndex * pixelSize, width) * pixelSize; for (int x = xStart; x < xStart + pixelSize; x++) { for (int y = yStart; y < yStart + pixelSize; y++) { colorPalette.getPixelWriter().setColor(x, y, color); } } }
ByteBuffer byteBuffer = nativeBuffer.getByteBuffer(0, nativeBuffer.size()); BufferFormat bufferFormat = ((DefaultDirectMediaPlayer) mediaPlayerComponent.getMediaPlayer()).getBufferFormat(); WritableImage textureImage = new WritableImage(bufferFormat.getWidth(), bufferFormat.getHeight()); if (bufferFormat.getWidth() > 0 && bufferFormat.getHeight() > 0) { textureImage.getPixelWriter().setPixels(0, 0, bufferFormat.getWidth(), bufferFormat.getHeight(), pixelFormat, byteBuffer, bufferFormat.getPitches()[0]); // apply new frame as texture image to the 3D shape's material material.setDiffuseMap(textureImage); }
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; }
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 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; }
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); }
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; }
/** * copy the given image to a writeable image * * @param image * @return a writable image */ public static WritableImage copyImage(Image image) { int height = (int) image.getHeight(); int width = (int) image.getWidth(); PixelReader pixelReader = image.getPixelReader(); WritableImage writableImage = new WritableImage(width, height); PixelWriter pixelWriter = writableImage.getPixelWriter(); for (int y = 0; y < height; y++) { for (int x = 0; x < width; x++) { Color color = pixelReader.getColor(x, y); pixelWriter.setColor(x, y, color); } } return writableImage; }