> 
> 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

Reply via email to