導航:首頁 > 編程語言 > java圖片縮小圖片

java圖片縮小圖片

發布時間:2025-05-01 14:17:49

『壹』 java如何修改圖片大小

截取點代碼片斷,你自己看著改

修改圖片大小用getScaledInstance方法

BufferedImagebimg=null;
Imageimg=null;
intwidth,height;
try{
bimg=ImageIO.read(u);
if(bimg.getWidth()>bimg.getHeight())
{
width=40;
height=bimg.getHeight()*width/bimg.getWidth();
}
else
{
height=40;
width=bimg.getWidth()*height/bimg.getHeight();
}

img=bimg.getScaledInstance(width,height,Image.SCALE_DEFAULT);
pre_image=bimg.getScaledInstance(width*10,height*10,Image.SCALE_DEFAULT);
}catch(IOExceptione){
e.printStackTrace();
}

『貳』 在java Applet里如何實現滑鼠滾輪放大縮小圖片

創建滑鼠滾輪監聽事件MouseWheelListener,MouseWheelEvent e,
int num=e.getWheelRotation(); 這個用來得到滾輪轉動的方向與單位數,正數表示向下旋轉,負數表示向上旋轉,絕對值表示轉動的單位。
然後你再改變圖片的大小和位置,然後 refresh();
建議用JLabel來顯示圖片,然後在滑鼠的滾輪事件中改變JLabel的大小和位置就OK了,具體的自己去實現。
看來得給你個例子啊!關鍵點1:按比例縮放圖片;2:this.repaint();之前寫錯了不好意思啊
public class Anniu extends JFrame implements MouseWheelListener {

private static final long serialVersionUID = 1L;

JLabel jl = null;
ImageIcon image = new ImageIcon("F://12.jpg");
public Anniu() {

}

public void init() {
setLayout(null);

jl = new JLabel(image);
setSize(800, 600);
jl.setBounds(300, 200, 200, 200);
add(jl);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.addMouseWheelListener(this);
setVisible(true);
}

@Override
public void mouseWheelMoved(MouseWheelEvent e) {
// TODO Auto-generated method stub
int num = e.getWheelRotation();
int x = (this.getWidth() - jl.getWidth()) / 2;
int y = (this.getHeight() - jl.getHeight()) / 2;
int width=jl.getWidth()+ 2 * num;
int height=jl.getHeight()+ 2 * num;
jl.setIcon(new ImageIcon( image.getImage().getScaledInstance(width, height, Image.SCALE_SMOOTH))); //重點1:按所給的大小來設置圖片,不管圖片有多大,總是全圖顯示,可能導致失真!你可以加一個大小限制,超過圖片大小了則不再放大。
jl.setBounds(x + num, y + num, width, height);
this.repaint(); //刷新屏幕
}

『叄』 【Java實例】使用Thumbnailator生成縮略圖(縮放、旋轉、裁剪、水印)

表哥需要給兒子報名考試,系統要求上傳不超過30KB的圖片,而現在的手機隨手一拍就是幾MB的,怎麼弄一個才30KB的圖片呢?

一個簡單的辦法是在電腦上把圖片縮小,然後截屏小圖片,但現在的電腦屏幕解析度很高,而且截屏大小不好控制;同樣解析度在不同圖片格式下,大小也相差很大。試了一下微信截圖工具,輸出的圖片比較大。於是放棄了該辦法。

另一個辦法是通過其它工具來處理。找了圖片在線壓縮網站和一款手機軟體,發現在圖片小於一定大小時壓縮無效。如果再繼續找其它工具,簡直就是折騰且浪費時間,所以也放棄了該辦法。

最後,還是自己寫個代碼把圖片按原比例壓縮成了29KB,使用Thumbnailator庫,兩三行代碼搞定。

縮略圖是應用極其廣泛的,像頭像、圖片消息、商品圖片等,都會用到縮略圖。

比如,當你有了一個新的微信好友,你就能看到他的頭像,一開始這個頭像是一個比原圖更小的縮略圖。而你點擊查看原圖時,微信客戶端才會給你下載原圖。因為你並不會對每個人的頭像都感興趣,都會去查看清晰的原圖,一個小小的縮略圖已經能滿足了。這樣可以減輕網路傳輸的負擔,加快響應速度。

微信傳圖片和視頻也是同樣的道理,先給你傳一個比較小的預覽,你點擊查看原圖或視頻播放才給你傳更大的文件

縮略圖的開源庫很多:

(1)Thumbnailator

GitHub: https://github.com/coobird/thumbnailator

不依賴外部庫,輕便高效,任何平台適用,支持縮放、旋轉、截取,支持水印。

(2)Imgscalr

GitHub: https://github.com/rkalla/imgscalr

全部基於 Java 2D,不依賴外部庫,輕便高效,任何平台適用,支持縮放、旋轉、截取,不支持水印。

本文主要講解Thumbnailator的使用,最新版本為0.4.8,maven引入如下:

原圖為4:3比例的圖片,為4032x3024(圖片太大,網站無法上傳原圖),如下:

當使用指定大小方式進行縮放時,默認是保持原比例的。

展示其中兩種結果:

(1)size(200, 300),結果為200X150的圖片,比例還是4:3。

(2)forceSize(200, 300),結果為200X300的圖片,如原比例不同,會有變形。

按比例進行縮放是指按寬和高的比例同時縮放,看下面代碼:

按角度旋轉時,角度為正數時,順時針;角度為負數時,逆時針。代碼如下:

壓縮並旋轉後的結果圖片如下所示:

添加水印也是十分方便,我們示例將水印放在右上角,代碼如下:

加上水印後的圖片如下:

代碼如下:

結果如下:

這個功能還是非常有用,可以操作目錄下的所有圖片,並指定文件名輸出,如指定前綴,代碼如下:

操作後的生成的結果如下:

Thumbnailator庫操作方便,支持縮放、旋轉、裁剪、水印等功能,而且沒有其它依賴,值得了解學習。

歡迎關注公眾號,將持續為你更新...

多讀書,多分享;多寫作,多整理。

『肆』 java怎麼實現通過滑鼠滾輪對圖片進行等比例縮放功能

給你個實例吧
public class Anniu extends JFrame implements MouseWheelListener {

private static final long serialVersionUID = 1L;

JLabel jl = null;
ImageIcon image = new ImageIcon("F://12.jpg");
public Anniu() {

}

public void init() {
setLayout(null);

jl = new JLabel(image);
setSize(800, 600);
jl.setBounds(300, 200, 200, 200);
add(jl);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.addMouseWheelListener(this);
setVisible(true);
}

@Override
public void mouseWheelMoved(MouseWheelEvent e) {
// TODO Auto-generated method stub
int num = e.getWheelRotation();
int x = (this.getWidth() - jl.getWidth()) / 2;
int y = (this.getHeight() - jl.getHeight()) / 2;
int width=jl.getWidth()+ 2 * num;
int height=jl.getHeight()+ 2 * num;
jl.setIcon(new ImageIcon( image.getImage().getScaledInstance(width, height, Image.SCALE_SMOOTH))); //重點1:按所給的大小來設置圖片,不管圖片有多大,總是全圖顯示,可能導致失真!你可以加一個大小限制,超過圖片大小了則不再放大。
jl.setBounds(x + num, y + num, width, height);
this.repaint(); //刷新屏幕
}

『伍』 Java 圖片壓縮生成縮略圖和水印

Java圖片壓縮生成縮略圖和水印的方法如下

1. 使用Java原生API進行圖片壓縮: Java原生API提供了對圖片進行縮放和壓縮的功能。 可以使用javax.imageio包中的工具對圖片進行等比縮放並壓縮。 當輸出圖片格式為JPEG時,利用JPEGEncodeParam指定輸出圖片質量,通常建議的壓縮平衡值在0.75或0.8左右,以在保證圖片質量的同時減少文件體積。 JPEG格式通常比PNG格式更小,但PNG支持圖片透明度,適用於需要透明背景的場景。

2. 使用Thumbnailator生成縮略圖和添加水印: Thumbnailator是一個用於Java的縮略圖生成庫,提供了一套簡單易用的API。 使用前需將Thumbnailator作為單獨的Jar包引入項目,通常通過在pom.xml文件中添加依賴來完成。 Thumbnailator允許通過簡單的API調用控制縮略圖的尺寸、格式和位置。 同樣地,使用Thumbnailator為圖片添加水印也非常便捷,只需按照庫提供的指南進行配置。

總結: Java原生API和第三方庫如Thumbnailator都能有效滿足圖片壓縮、生成縮略圖和添加水印的需求。 在實際應用中,開發者可以根據具體需求選擇合適的方法和技術,以實現高效、優化的圖片管理。

『陸』 java設置插入圖片大小

可以用Image中的getScaledInstance方法得到一個按照指定寬度和高度縮放以後的Image實例,然後再用setImage方法設置ImageIcon所顯示的圖像
一下示例:
×××××××××××××××××××××××××××××
import javax.swing.*;
import java.awt.*;

public class test extends JFrame
{
private ImageIcon img;
private JLabel showImg;

private final static int WIDTH=147;
private final static int HEIGHT=136;

public test()
{
img=new ImageIcon("1.png");
img.setImage(img.getImage().getScaledInstance(test.WIDTH,test.HEIGHT,Image.SCALE_DEFAULT));

showImg=new JLabel();
showImg.setIcon(img);

this.add(showImg,BorderLayout.CENTER);
this.setBounds(300,200,400,300);
this.pack();
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}

public static void main(String args[])
{
new test();
}
}

『柒』 怎麼用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代碼放大或縮小圖片不失真。

閱讀全文

與java圖片縮小圖片相關的資料

熱點內容
淘寶javascript 瀏覽:62
3d列印機g代碼 瀏覽:887
神州行自助升級4g 瀏覽:41
如何在設置查看app中描述文件 瀏覽:85
string取子串java 瀏覽:884
音樂網站怎麼找 瀏覽:998
Note3wifidhcp配置文件 瀏覽:787
風險分析的程序包括 瀏覽:514
背書是什麼意思網路 瀏覽:524
初中生作文安卓版 瀏覽:36
文件名有哪些部分構成 瀏覽:429
天天手環微信 瀏覽:166
垃圾清理系統文件 瀏覽:341
找尋電腦的文件不知道放哪個路徑 瀏覽:472
java圖片縮小圖片 瀏覽:566
不做編程道通和元征哪個好 瀏覽:353
管線資料庫更新方法有哪些 瀏覽:191
js全選和反選 瀏覽:874
機械設計和編程哪個難學 瀏覽:739
二不管轉換成什麼格式文件都會 瀏覽:889

友情鏈接