> > I'm curious. Why setSmooth doesn't work? > I tried setSmooth but it doesn’t work. See the doc: "Indicates whether to use a better quality filtering algorithm or a faster”. I expected this be a set for the interpolation algorithm (bilinear, bicubic, nearest neighbor, etc). My case I didn’t want a faster filter, I wanted no filter. Anyway, looking at the code, at the rendering level, NSImageView: // RT-18701: this method does nothing public void setSmooth(boolean s) {}
> Also, do I really need to create an image in memory just to render something > showing the pixels? > For a workaround done outside JavaFX I can’t think of any other way. I used this code snippet for a simple testing app, small images. Felipe > On Aug 27, 2014 3:32 AM, "Nico Krebs | www.mensch-und-maschine.de > <http://www.mensch-und-maschine.de/>" <nicokrebs....@googlemail.com > <mailto:nicokrebs....@googlemail.com>> wrote: > Thanx for that quick response! > > It is the right direction, but doing this for one image is not enough. > when having multiple images, the distances between them must be scaled, > too. > > I will extend your example to scale all nodes and their positions, too. > I try it tomorrow and post the result here. > > Nico > > > Felipe Heidrich <mailto:felipe.heidr...@oracle.com > > <mailto:felipe.heidr...@oracle.com>> > > 26. August 2014 19:20 > > > > Hi Nico, > > > > Is this what you looking for: > > > > Image image - the image to scale up > > int width = (int)image.getWidth(); > > int height = (int)image.getHeight(); > > > > int z = (int)getZoom(); // 2, 4, 8, 16 (I only tested for powers of two) > > IntBuffer src = IntBuffer.allocate(width * height); > > WritablePixelFormat<IntBuffer> pf = > > PixelFormat.getIntArgbInstance(); > > image.getPixelReader().getPixels(0, 0, width, height, pf, src, > > width); > > int newWidth = width * z; > > int newHeight = height * z; > > int[] dst = new int[newWidth * newHeight]; > > int index = 0; > > for (int y = 0; y < height; y++) { > > index = y * newWidth * z; > > for (int x = 0; x < width; x++) { > > int pixel = src.get(); > > for (int i = 0; i < z; i++) { > > for (int j = 0; j < z; j++) { > > dst[index + i + (newWidth * j)] = pixel; > > } > > } > > index += z; > > } > > } > > WritableImage bigImage = new WritableImage(newWidth, newHeight); > > bigImage.getPixelWriter().setPixels(0, 0, newWidth, > > newHeight, pf, dst, 0, newWidth); > > preview.setImage(bigImage); > > preview.setFitWidth(newWidth); > > > > > > preview is ImageView where the scale up image is displayed. > > > > > > Felipe > > > > > > > > -- > Nico Krebs > > Michelangelostraße 1 > 01217 Dresden > > web: www.mensch-und-maschine.de <http://www.mensch-und-maschine.de/> > mobil: 0162 / 85 89 667 > mail: nicokrebs....@googlemail.com <mailto:nicokrebs....@googlemail.com> > skype: k-dottus > icq: 324 143 104 > fax: 032 12 - 11 39 77 6 > twitter: nico_krebs