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(); }
Image image = ... int rgb = image.getPixelReader().getArgb(x, y); // remove alpha; is this necessary??? rgb = rgb & 0xffffff;
Image i = logo.getImage(); PixelReader pr = i.getPixelReader(); PixelFormat f = pr.getPixelFormat(); WriteablePixelFromat wf = f.getIntArgbInstance(); //??? int[] buffer = new int[size as desumed from the format f, should be i.width*i.height*4]; pr.getPixels(int 0, int 0, int i.width, i.height, wf, buffer, 0, 0);
public static int[] getRGB(Image image, int x, int y, int width, int height) { int[] rgb = new int[width * height]; PixelReader reader = image.getPixelReader(); reader.getPixels(x, y, width, height, PixelFormat.getIntArgbInstance(), rgb, 0, width); return rgb; }
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 ; }
public class ImageRenderer { public void render(GraphicsContext context, Image image, int sx, int sy, int sw, int sh, int tx, int ty) { PixelReader reader = image.getPixelReader(); PixelWriter writer = context.getPixelWriter(); for (int x = 0; x < sw; x++) { for (int y = 0; y < sh; y++) { Color color = reader.getColor(sx + x, sy + y); if (color.isOpaque()) { writer.setColor(tx + x, ty + y, color); } } } } }
PixelReader pr = img.getPixelReader(); if (pr == null) { return null;
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; }
@Override public int[] getPixels(Image img, int x, int y, int w, int h) { int[] pixels = new int[w * h]; PixelReader reader = img.getPixelReader(); PixelFormat.Type type = reader.getPixelFormat().getType(); WritablePixelFormat<IntBuffer> format = null; if(type == PixelFormat.Type.INT_ARGB_PRE) { format = PixelFormat.getIntArgbPreInstance(); } else { format = PixelFormat.getIntArgbInstance(); } reader.getPixels(x, y, w, h, format, pixels, 0, w); return pixels; }
/** * 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; }
/** * 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; }
int half = getHalf(); PixelReader pixelReader = displayContext.mapView.getImage() .getPixelReader(); if (debug) { String msg = String.format("zoom %3d,%3d - %3d,%3d half=%3d", gp.x - half,
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(); }
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); }
w, h, sourceImage.getPixelReader(), tilex * w + tileset.getMargin() + tilex * tileset.getSpacing(), tiley * h + tileset.getMargin() + tiley * tileset.getSpacing());
int H = (int) inputImage.getHeight(); WritableImage outputImage = new WritableImage(W, H); PixelReader reader = inputImage.getPixelReader(); PixelWriter writer = outputImage.getPixelWriter(); int ob = (int) oldColor.getBlue() * 255;
w, h, sourceImage.getPixelReader(), tilex * w + tileset.getMargin() + tilex * tileset.getSpacing(), tiley * h + tileset.getMargin() + tiley * tileset.getSpacing());