Path: csiph.com!eternal-september.org!feeder.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Martin Gregorie Newsgroups: comp.lang.java.programmer Subject: Re: Can you resize with BufferedImage Date: Wed, 12 Apr 2017 10:18:49 -0000 (UTC) Organization: A noiseless patient Spider Lines: 38 Message-ID: References: <871ssy10ub.fsf@Equus.decebal.nl> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Injection-Date: Wed, 12 Apr 2017 10:18:49 -0000 (UTC) Injection-Info: mx02.eternal-september.org; posting-host="d306aa834d2de3b0efaf2341ed8dc3cd"; logging-data="25126"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+fkXwBWnQrDbkRtR1toRLb3r1xebwRJSc=" User-Agent: Pan/0.141 (Tarzan's Death; 168b179 git.gnome.org/pan2) Cancel-Lock: sha1:49djmyG+LLiJi6aYw3mWDorR0BE= Xref: csiph.com comp.lang.java.programmer:36433 On Wed, 12 Apr 2017 10:34:04 +0200, Cecil Westerhof wrote: > In my code I have the following code: > dest = image.getSubimage(x, y, dispWidth, dispHeight); > > This is the part that I want to select, but I want to resize it at the > same time. In this case I would like to scale to 50%. > How should I do that? Use an AffineTransform. The image resizing code should look something like this fragment: AffineTransform at = new AffineTransform(); at.scale(scale, scale); AffineTransformOp op = new AffineTransformOp(at, AffineTransformOp.TYPE_BICUBIC); Double nw = new Double(w * scale); Double nh = new Double(h * scale); om = new BufferedImage(nw.intValue(), nh.intValue(), BufferedImage.TYPE_3BYTE_BGR); op.filter(im, om); where: im is a BufferedImage containing the old image om is a BufferedImage to hold the modified image scale is a double containing the required scaling factor I'm scaling images to a width of 400 pixels, so I calculate scale as 400.0 / image_width. You would just set scale to 0.5. I want to keep the image proportion, so I use the same scale value for both width and height. -- martin@ | Martin Gregorie gregorie. | Essex, UK org |