java
Java 9에서는 다양한 해상도 변형을 가진 여러 이미지를 지원하는 새로운 다중 해상도 이미지 API가 도입되었습니다. 이 API를 사용하면 해상도가 다른 이미지 세트를 단일 다중 해상도 이미지로 사용할 수 있습니다. 다음은 다중 해상도 이미지의 주요 작업입니다.
이미지 getResolutionVariant(이중 destImageWidth, 이중 destImageHeight) − 표시된 크기에서 이 논리적 이미지를 가장 잘 표현하는 특정 이미지를 가져옵니다.
목록
import java.io.IOException; import java.net.URL; import java.net.MalformedURLException; import java.util.ArrayList; import java.util.List; import java.awt.Image; import java.awt.image.MultiResolutionImage; import java.awt.image.BaseMultiResolutionImage; import javax.imageio.ImageIO; public class Tester { public static void main(String[] args) throws IOException, MalformedURLException { List<String> imgUrls = List.of("http://www.tutorialspoint.com/java9/images/logo.png", "http://www.tutorialspoint.com/java9/images/mini_logo.png", "http://www.tutorialspoint.com/java9/images/large_logo.png"); List<Image> images = new ArrayList<Image>(); for (String url : imgUrls) { images.add(ImageIO.read(new URL(url))); } // read all images into one multiresolution image MultiResolutionImage multiResolutionImage = new BaseMultiResolutionImage(images.toArray(new Image[0])); // get all variants of images List<Image> variants = multiResolutionImage.getResolutionVariants(); System.out.println("Total number of images: " + variants.size()); for (Image img : variants) { System.out.println(img); } // get a resolution-specific image variant for each indicated size Image variant1 = multiResolutionImage.getResolutionVariant(156, 45); System.out.printf("\nImage for destination[%d,%d]: [%d,%d]", 156, 45, variant1.getWidth(null), variant1.getHeight(null)); Image variant2 = multiResolutionImage.getResolutionVariant(311, 89); System.out.printf("\nImage for destination[%d,%d]: [%d,%d]", 311, 89, variant2.getWidth(null), variant2.getHeight(null)); Image variant3 = multiResolutionImage.getResolutionVariant(622, 178); System.out.printf("\nImage for destination[%d,%d]: [%d,%d]", 622, 178, variant3.getWidth(null), variant3.getHeight(null)); Image variant4 = multiResolutionImage.getResolutionVariant(300, 300); System.out.printf("\nImage for destination[%d,%d]: [%d,%d]", 300, 300, variant4.getWidth(null), variant4.getHeight(null)); } }
Total number of images: 3 BufferedImage@7ce6a65d: type = 6 ColorModel: #pixelBits = 32 numComponents = 4 color space =java.awt.color.ICC_ColorSpace@548ad73b transparency = 3 has alpha = true isAlphaPre = false ByteInterleavedRaster: width =311 height = 89 #numDataElements 4 dataOff[0] = 3 BufferedImage@4c762604: type = 6 ColorModel: #pixelBits = 32 numComponents = 4 color space =java.awt.color.ICC_ColorSpace@548ad73b transparency = 3 has alpha = true isAlphaPre = false ByteInterleavedRaster: width =156 height = 45 #numDataElements 4 dataOff[0] = 3 BufferedImage@2641e737: type = 6 ColorModel: #pixelBits = 32 numComponents = 4 color space =java.awt.color.ICC_ColorSpace@548ad73b transparency = 3 has alpha = true isAlphaPre = false ByteInterleavedRaster: width =622 height = 178 #numDataElements 4 dataOff[0] = 3 Image for destination[156,45]: [311,89] Image for destination[311,89]: [311,89] Image for destination[622,178]: [622,178] Image for destination[300,300]: [622,178]
java
자바 대기열 인터페이스 이 자습서에서는 Java Queue 인터페이스와 해당 메서드에 대해 알아봅니다. Queue Java 컬렉션 프레임워크의 인터페이스는 큐 데이터 구조의 기능을 제공합니다. Collection 확장 인터페이스. 대기열을 구현하는 클래스 Queue 이후 인터페이스이므로 직접 구현할 수 없습니다. Queue의 기능을 사용하려면 , 이를 구현하는 클래스를 사용해야 합니다. 배열 데크 링크드리스트 우선순위 대기열 Queue를 확장하는 인터페이스 Queue 인터페이스는 다양한 하위 인터페이스로 확장됩니
자바에서 리플렉션이란 무엇입니까? Java Reflection은 런타임에 클래스의 모든 기능을 분석하고 수정하는 프로세스입니다. Java의 Reflection API는 런타임에 필드, 메소드, 생성자 등을 포함하는 클래스 및 해당 멤버를 조작하는 데 사용됩니다. Java에서 리플렉션 API의 한 가지 장점은 클래스의 private 멤버도 조작할 수 있다는 것입니다. java.lang.reflect 패키지는 리플렉션을 구현하는 많은 클래스를 제공합니다. java.lang.Class 클래스의 java.Methods는 특정 클래스의