本文目錄一覽:
怎麼用java代碼放大或縮小圖片不失真。
放大圖像不會導致失真,而縮小圖像將不可避免的失真。
Java中也同樣是這樣。
但java提供了4個縮放的微調選項。
image.SCALE_SMOOTH
//平滑優先
image.SCALE_FAST//速度優先
image.SCALE_AREA_AVERAGING
//區域均值
image.SCALE_REPLICATE
//像素複製型縮放
image.SCALE_DEFAULT
//默認縮放模式
調用方法
Image
new_img=old_img.getScaledInstance(1024,
768,
Image.SCALE_SMOOTH);
得到一張縮放後的新圖。
java旋轉照片顏色失真太大,求指導
代碼不完整,測試不了。
/**
* 旋轉圖片為指定角度
*
* @param bufferedimage
* 目標圖像
* @param degree
* 旋轉角度
* @return
*/
public static BufferedImage rotateImage(final BufferedImage bufferedimage, final int degree){
int w= bufferedimage.getWidth();// 得到圖片寬度。
int h= bufferedimage.getHeight();// 得到圖片高度。
int type= bufferedimage.getColorModel().getTransparency();// 得到圖片透明度。
BufferedImage img;// 空的圖片。
Graphics2D graphics2d;// 空的畫筆。
(graphics2d= (img= new BufferedImage(w, h, type)).createGraphics()).setRenderingHint( RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);
graphics2d.rotate(Math.toRadians(degree), w / 2, h / 2);// 旋轉,degree是整型,度數,比如垂直90度。
graphics2d.drawImage(bufferedimage, 0, 0, null);// 從bufferedimagecopy圖片至img,0,0是img的坐標。
graphics2d.dispose();
return img;// 返回複製好的圖片,原圖片依然沒有變,沒有旋轉,下次還可以使用。
}
看看別人的寫法
java直接保存的圖片不清楚,請問需要如何處理
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(image);
param.setQuality(1f, false);
encoder.setJPEGEncodeParam(param);
encoder.encode(image);
out.close();
public void setQuality(float quality, boolean forceBaseline)
quality取值在 1.0 到 0.0 之間
JDK6 裡面是可以使用的,JDK7就看着辦吧
圖片失真,是什麼意思?
j具體意思如下:
1、跟原來的有出入(指聲音、形象或語言內容等)。
2、無線電技術中指輸出信號與輸入信號不一致。如音質變化、圖像變形等。
3、失真又稱“畸變,指信號在傳輸過程中與原有信號或標準相比所發生的偏差。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/249593.html