Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (101)
JavaBeans (21)
JDBC (121)
JDK (426)
JSP (20)
Logging (108)
Mail (58)
Messaging (8)
Network (84)
PDF (97)
Report (7)
Scripting (84)
Security (32)
Server (121)
Servlet (26)
SOAP (24)
Testing (54)
Web (15)
XML (309)
Collections:
Other Resources:
JDK 17 java.desktop.jmod - Desktop Module
JDK 17 java.desktop.jmod is the JMOD file for JDK 17 Desktop module.
JDK 17 Desktop module compiled class files are stored in \fyicenter\jdk-17.0.5\jmods\java.desktop.jmod.
JDK 17 Desktop module compiled class files are also linked and stored in the \fyicenter\jdk-17.0.5\lib\modules JImage file.
JDK 17 Desktop module source code files are stored in \fyicenter\jdk-17.0.5\lib\src.zip\java.desktop.
You can click and view the content of each source code file in the list below.
✍: FYIcenter
⏎ java/awt/image/ReplicateScaleFilter.java
/* * Copyright (c) 1996, 2018, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. * * * * * * * * * * * * * * * * * * * * */ package java.awt.image; import java.awt.image.ImageConsumer; import java.awt.image.ColorModel; import java.util.Hashtable; import java.awt.Rectangle; /** * An ImageFilter class for scaling images using the simplest algorithm. * This class extends the basic ImageFilter Class to scale an existing * image and provide a source for a new image containing the resampled * image. The pixels in the source image are sampled to produce pixels * for an image of the specified size by replicating rows and columns of * pixels to scale up or omitting rows and columns of pixels to scale * down. * <p>It is meant to be used in conjunction with a FilteredImageSource * object to produce scaled versions of existing images. Due to * implementation dependencies, there may be differences in pixel values * of an image filtered on different platforms. * * @see FilteredImageSource * @see ImageFilter * * @author Jim Graham */ public class ReplicateScaleFilter extends ImageFilter { /** * The width of the source image. */ protected int srcWidth; /** * The height of the source image. */ protected int srcHeight; /** * The target width to scale the image. */ protected int destWidth; /** * The target height to scale the image. */ protected int destHeight; /** * An {@code int} array containing information about a * row of pixels. */ protected int[] srcrows; /** * An {@code int} array containing information about a * column of pixels. */ protected int[] srccols; /** * A {@code byte} array initialized with a size of * {@link #destWidth} and used to deliver a row of pixel * data to the {@link ImageConsumer}. */ protected Object outpixbuf; /** * Constructs a ReplicateScaleFilter that scales the pixels from * its source Image as specified by the width and height parameters. * @param width the target width to scale the image * @param height the target height to scale the image * @throws IllegalArgumentException if {@code width} equals * zero or {@code height} equals zero */ public ReplicateScaleFilter(int width, int height) { if (width == 0 || height == 0) { throw new IllegalArgumentException("Width ("+width+ ") and height ("+height+ ") must be non-zero"); } destWidth = width; destHeight = height; } /** * Passes along the properties from the source object after adding a * property indicating the scale applied. * This method invokes {@code super.setProperties}, * which might result in additional properties being added. * <p> * Note: This method is intended to be called by the * {@code ImageProducer} of the {@code Image} whose pixels * are being filtered. Developers using * this class to filter pixels from an image should avoid calling * this method directly since that operation could interfere * with the filtering operation. */ public void setProperties(Hashtable<?,?> props) { @SuppressWarnings("unchecked") Hashtable<Object,Object> p = (Hashtable<Object,Object>)props.clone(); String key = "rescale"; String val = destWidth + "x" + destHeight; Object o = p.get(key); if (o != null && o instanceof String) { val = ((String) o) + ", " + val; } p.put(key, val); super.setProperties(p); } /** * Override the dimensions of the source image and pass the dimensions * of the new scaled size to the ImageConsumer. * <p> * Note: This method is intended to be called by the * {@code ImageProducer} of the {@code Image} whose pixels * are being filtered. Developers using * this class to filter pixels from an image should avoid calling * this method directly since that operation could interfere * with the filtering operation. * @see ImageConsumer */ public void setDimensions(int w, int h) { srcWidth = w; srcHeight = h; if (destWidth < 0) { if (destHeight < 0) { destWidth = srcWidth; destHeight = srcHeight; } else { destWidth = srcWidth * destHeight / srcHeight; } } else if (destHeight < 0) { destHeight = srcHeight * destWidth / srcWidth; } consumer.setDimensions(destWidth, destHeight); } private void calculateMaps() { srcrows = new int[destHeight + 1]; for (int y = 0; y <= destHeight; y++) { srcrows[y] = (2 * y * srcHeight + srcHeight) / (2 * destHeight); } srccols = new int[destWidth + 1]; for (int x = 0; x <= destWidth; x++) { srccols[x] = (2 * x * srcWidth + srcWidth) / (2 * destWidth); } } /** * Choose which rows and columns of the delivered byte pixels are * needed for the destination scaled image and pass through just * those rows and columns that are needed, replicated as necessary. * <p> * Note: This method is intended to be called by the * {@code ImageProducer} of the {@code Image} whose pixels * are being filtered. Developers using * this class to filter pixels from an image should avoid calling * this method directly since that operation could interfere * with the filtering operation. */ public void setPixels(int x, int y, int w, int h, ColorModel model, byte[] pixels, int off, int scansize) { if (srcrows == null || srccols == null) { calculateMaps(); } int sx, sy; int dx1 = (2 * x * destWidth + srcWidth - 1) / (2 * srcWidth); int dy1 = (2 * y * destHeight + srcHeight - 1) / (2 * srcHeight); byte[] outpix; if (outpixbuf != null && outpixbuf instanceof byte[]) { outpix = (byte[]) outpixbuf; } else { outpix = new byte[destWidth]; outpixbuf = outpix; } for (int dy = dy1; (sy = srcrows[dy]) < y + h; dy++) { int srcoff = off + scansize * (sy - y); int dx; for (dx = dx1; (sx = srccols[dx]) < x + w; dx++) { outpix[dx] = pixels[srcoff + sx - x]; } if (dx > dx1) { consumer.setPixels(dx1, dy, dx - dx1, 1, model, outpix, dx1, destWidth); } } } /** * Choose which rows and columns of the delivered int pixels are * needed for the destination scaled image and pass through just * those rows and columns that are needed, replicated as necessary. * <p> * Note: This method is intended to be called by the * {@code ImageProducer} of the {@code Image} whose pixels * are being filtered. Developers using * this class to filter pixels from an image should avoid calling * this method directly since that operation could interfere * with the filtering operation. */ public void setPixels(int x, int y, int w, int h, ColorModel model, int[] pixels, int off, int scansize) { if (srcrows == null || srccols == null) { calculateMaps(); } int sx, sy; int dx1 = (2 * x * destWidth + srcWidth - 1) / (2 * srcWidth); int dy1 = (2 * y * destHeight + srcHeight - 1) / (2 * srcHeight); int[] outpix; if (outpixbuf != null && outpixbuf instanceof int[]) { outpix = (int[]) outpixbuf; } else { outpix = new int[destWidth]; outpixbuf = outpix; } for (int dy = dy1; (sy = srcrows[dy]) < y + h; dy++) { int srcoff = off + scansize * (sy - y); int dx; for (dx = dx1; (sx = srccols[dx]) < x + w; dx++) { outpix[dx] = pixels[srcoff + sx - x]; } if (dx > dx1) { consumer.setPixels(dx1, dy, dx - dx1, 1, model, outpix, dx1, destWidth); } } } }
⏎ java/awt/image/ReplicateScaleFilter.java
Or download all of them as a single archive file:
File name: java.desktop-17.0.5-src.zip File size: 9152233 bytes Release date: 2022-09-13 Download
⇒ JDK 17 java.instrument.jmod - Instrument Module
2023-09-16, 34031👍, 0💬
Popular Posts:
SLF4J API is a simple API that allows to plug in any desired logging library at deployment time. Her...
commons-collections4-4.2 -sources.jaris the source JAR file for Apache Commons Collections 4.2, whic...
JDK 11 jdk.dynalink.jmod is the JMOD file for JDK 11 Dynamic Linking module. JDK 11 Dynamic Linking ...
How to download and install Apache ZooKeeper Source Package? Apache ZooKeeper is an open-source serv...
XStream is a simple library to serialize objects to XML and back again. JAR File Size and Download L...