1. 축소판
앨범을 탐색 할 때 해당 썸네일을 생성해야 할 수도 있습니다.
코드를 직접 업로드하십시오.
public class imageUtil {private logger log = loggerfactory.getLogger (getClass ()); 개인 정적 부울 default_force = false; am whumbnail 너비* @param h 썸네일 높이* @param prevfix 썸네일의 접두사를 생성 * @param 힘 너비와 높이에 따라 썸네일을 생성 할 것인지 (False, Best Scale Thumbnail이 생성되는 경우) */ public void humbnailage (string imagepath, int h, int h, boolean force) {imgfile (incustior) {exhiple (incustior) {); BMP, JPG, JPG, WBMP, JPEG, PNG, PNG, JPEG, WBMP, GIF, GIF] 문자열 유형 = arrays.toString (imageio.getERDERFORMATNAMES ()); 접미사는 합법적 인 if (wiffix == null || tipe.tolowercase (). indexof (wiffix.tolowercase ()) {log.error ( "죄송합니다. 이미지 접미사는 불법입니다. 표준 이미지 접미사는 {}입니다. " + type); return;} log.debug ("대상 이미지의 크기 : {}, height : {}. "; image img = imageio.read (imgfile); if (! int height = img.getheight (null); = integer.parseint (new java.text.decimalformat ( "0"). 형식 (높이 * w/너비 * 1.0)); "이미지의 높이 : {}, {}.", W, H); .format (너비 * h/(높이 * 1.0)); "이미지의 너비 변경 : {}.", w, h); } BuferedImage (W, H, BufferedImage.type_int_rgb); , 접미어, 새 파일 (p.substring (0, p.lastindexof (file.separator)) + file.separator + prevfix +imgfile.getName ()); "C :/Users/CM/Desktop/my page/images/girlnoimg.jpg", 100, 150, default_prevfix, default_force);기본 메소드를 직접 실행하고 해당 매개 변수를 작성하십시오.
2. 자른 그림을 생성하기 위해 JS와 협력하십시오
개인 Weibo 및 QQ 정보를 수정하면 개인 아바타를 업로드 한 다음 개인 아바타를 자르고 업로드 할 수 있습니다. 자른 이미지의 크기와 스타일은 JavaScript를 통해 구현되지만 새로운 이미지를 생성하지는 않습니다. 그러나 JS 자른 이미지는이 네 가지 매개 변수를 통해 이미지의 X 및 Y 좌표 및 너비 및 높이를 제공하여 원래 이미지를 기반으로 새로운 자른 이미지를 생성 할 수 있습니다.
단계:
1. 먼저 JS를 사용하여 페이지를 통해 이미지 컷 및 브라우징 기능을 실현하여 MOOC가 제공 한 정보를 참조하여 약간 변경했습니다. 또한 Jcrop과 같은 플러그인을 사용할 수도 있습니다. Jcrop은 매우 좋은 사진 자르기 플러그인입니다.
다운로드 주소 : http://download.csdn.net/detail/u012385190/9733480
최종 렌더링은 왼쪽에서 드래그하고 드래그 할 수 있습니다.
2. Java는 컷 사진을 생성하고 저장합니다
Public Class ImageUtil2 {private logger log = loggerfactory.getLogger (getClass ()); img, outputStream 출력, java.awt.rectangle rect) {if (srcimg.exists ()) {java.io.fileinputstream fis = null; ] String type = arrays.tostring (imageio.getReaderFormatNames ()) .replace ( "]", ","); // if (srcimg.getname (). indexof ( ".")> -1) {indubix = srcimg.getname (). substring (srcimg.getname (). " wiffix.tolowercase () + ",") <0) {log.error ( "미안, 이미지 접미사는 불법입니다. 표준 이미지 접미사는 {}입니다." + return; SetSourCeregion (rect); imageio.write (bi, 접미사, 출력) Ull) iis.close ()} catch (ioexception e) {e.printstacktrace ()}; } // public void cutimage 생성 .separator)) p = p + file.separator (srcimg, new java.io.fileoutputStream (p+ default_cut_prevfix+ "_"+ srcimg.getname ())} log , int x, int y, int width, int height) {cutimage (새 파일 (srcimg), destimg, new java.awt.rectangle (x, y, 너비, 높이);} public static void main (string [] args) util2 (). cutimage ( "c : /users/cm/desktop/jcrop-master/demos/demo_files/sago.jpg", "C :/user/cm/desktop/my page/images/imgs", 124, 110, 196, 176);이 방법은 메인에서 직접 실행할 수 있습니다. 전달 된 4 가지 매개 변수는 이미지 경로, 좌측 값, 최고 값, 길이 및 너비입니다.
이 네 가지 매개 변수를 얻는 방법을 분석해 봅시다.
1. JS 컷을 예로 들어 F12를 통해 다음을 얻습니다.
그림의 빨간색 부분은 그림 절단의 div입니다. 클리핑 영역의 크기와 너비를 드래그하여 어떤 매개 변수가 변경되었는지를 확인한 다음 특정 해당 매개 변수 값에 해당하는 매개 변수 값을 결정할 수 있습니다. 그림에서와 같이 내 x/y/너비/높이는 각각 40,28,224,228입니다.
참고 : JS에서는 DIV의 길이와 폭과 이미지를 300*300으로 정의하여 다운로드 한 이미지도 300*300입니다. 테스트 한 이미지가 300*300이 아닌 경우, 위의 Java에서 직접 테스트 한 효과는 프론트 엔드 이미지의 너비와 높이를 300*300으로 정의하는 반면 실제 이미지 (즉, Java의 이미지)는 그렇지 않기 때문에 앞쪽에서 보는 것과 다릅니다.
그렇다면이 문제가 처리되면 어떻게됩니까?
Java 코드에서 원본 이미지의 길이와 너비를 얻은 다음 원본 이미지의 길이와 너비가 300*300 이미지의 썸네일을 생성 한 다음 300*300 썸네일을 자른 이미지 프로토 타입으로 사용하십시오. (내 코드는 그것을 처리하지 않으며, 필요하면 직접 처리하고 사진을 사용한 후 썸네일을 삭제합니다).
2. jcrop은 매개 변수를 얻습니다
그림과 같이, Jcrop은 매개 변수를 직접 제공하며 직접 사용할 수 있습니다. 그러나 한 가지 단점은 프론트 엔드 페이지의 이미지 크기 영역이 고정되어 있지 않으면 픽셀 이미지가 매우 추악합니다.
요약하면 첫 번째 JS를 사용한 다음 원본 이미지의 길이와 너비가 300인지 여부를 결정한 다음 300*300 썸네일을 생성 한 다음 썸네일을 작물 프로토 타입으로 사용한 다음 사용 후 썸네일을 삭제하는 것이 좋습니다.
위는 편집자가 소개하는 Java 이미지 자르기 및 썸네일을 생성하는 예제입니다. Wulin.com 웹 사이트를 지원해 주셔서 대단히 감사합니다!