java調(diào)整圖片長寬代碼 調(diào)整圖片的長寬

JAVA 圖片大小設(shè)置

應(yīng)該是路徑問題。

成都創(chuàng)新互聯(lián)公司主要從事網(wǎng)站設(shè)計制作、網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)甘南,10余年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18982081108

把你要顯示的圖片放在你的Test類里,

再把 :con = new ImageIcon("D:\\java程序\\1.jpg");

改成 : icon = new ImageIcon("./1.jpg");

你試試,看行不。

求一個用BufferedImage這個改變圖片大小的JAVA代碼!~!

import java.awt.Image;

import java.awt.image.BufferedImage;

import java.io.File;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStream;

import javax.imageio.ImageIO;

import com.sun.image.codec.jpeg.JPEGCodec;

import com.sun.image.codec.jpeg.JPEGEncodeParam;

import com.sun.image.codec.jpeg.JPEGImageEncoder;

public class ImageZipUtil {

/**

* 壓縮圖片文件br

* 先保存原文件,再壓縮、上傳

*

* @param oldFile

* 要進行壓縮的文件全路徑

* @param width

* 寬度

* @param height

* 高度

* @param quality

* 質(zhì)量

* @param smallIcon

* 小圖片的后綴

* @return 返回壓縮后的文件的全路徑

*/

public String zipImageFile(String oldFile, int width, int height,

float quality, String smallIcon) {

if (oldFile == null) {

return null;

}

String newImage = null;

try {

/** 對服務(wù)器上的臨時文件進行處理 */

Image srcFile = ImageIO.read(new File(oldFile));

int w = srcFile.getWidth(null);

System.out.println(w);

System.out.println(smallIcon);

System.out.println(smallIcon);

int h = srcFile.getHeight(null);

System.out.println(h);

//width = w/4;

//height = h/4;

/** 寬,高設(shè)定 */

BufferedImage tag = new BufferedImage(width, height,

BufferedImage.TYPE_INT_RGB);

tag.getGraphics().drawImage(srcFile, 0, 0, width, height, null);

String filePrex = oldFile.substring(0, oldFile.indexOf('.'));

/** 壓縮后的文件名 */

newImage = filePrex + smallIcon

+ oldFile.substring(filePrex.length());

/** 壓縮之后臨時存放位置 */

FileOutputStream out = new FileOutputStream(newImage);

JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);

JPEGEncodeParam jep = JPEGCodec.getDefaultJPEGEncodeParam(tag);

/** 壓縮質(zhì)量 */

jep.setQuality(quality, true);

encoder.encode(tag, jep);

out.close();

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

return newImage;

}

/**

* 保存文件到服務(wù)器臨時路徑

*

* @param fileName

* @param is

* @return 文件全路徑

*/

public String writeFile(String fileName, InputStream is) {

if (fileName == null || fileName.trim().length() == 0) {

return null;

}

try {

/** 首先保存到臨時文件 */

FileOutputStream fos = new FileOutputStream(fileName);

byte[] readBytes = new byte[512];// 緩沖大小

int readed = 0;

while ((readed = is.read(readBytes)) 0) {

fos.write(readBytes, 0, readed);

}

fos.close();

is.close();

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

return fileName;

}

public static void main(String[] args){

ImageZipUtil u = new ImageZipUtil();

u.zipImageFile("e:/SAM_0006.JPG", 128, 128, 1f, "x2");

}

}

如何用Java實現(xiàn)圖形的放大和縮小

java實現(xiàn)圖形的放大和縮小,其實就是在畫圖時,改變圖片的長和寬。以下代碼參考一下:

import?java.awt.Graphics;

import?java.awt.MouseInfo;

import?java.awt.Point;

import?java.awt.event.ActionEvent;

import?java.awt.event.ActionListener;

import?java.awt.event.MouseEvent;

import?java.awt.event.MouseListener;

import?java.io.File;

import?javax.swing.ImageIcon;

import?javax.swing.JButton;

import?javax.swing.JFileChooser;

import?javax.swing.JFrame;

import?javax.swing.JPanel;

import?javax.swing.filechooser.FileNameExtensionFilter;

public?class?App?extends?JFrame?implements?MouseListener,?ActionListener?{

int?x?=?0;

int?y?=?0;

File[]?selectedFiles?=?null;

int?fileIndex?=?0;

int?width?=?200;

int?height?=?200;

public?App()?{

setDefaultCloseOperation(EXIT_ON_CLOSE);

setLocationRelativeTo(null);

setSize(400,?300);

setResizable(false);

getContentPane().setLayout(null);

JPanel?panel?=?new?ImagePanel();

panel.setBounds(12,?40,?370,?218);

getContentPane().add(panel);

addMouseListener(this);

JButton?btnBrowse?=?new?JButton("Browse");

btnBrowse.addActionListener(this);

btnBrowse.setBounds(12,?9,?91,?21);

getContentPane().add(btnBrowse);

setVisible(true);

}

public?static?void?main(String[]?args)?{

new?App();

}

public?void?actionPerformed(ActionEvent?e)?{

JFileChooser?chooser?=?new?JFileChooser();

chooser.setMultiSelectionEnabled(true);

FileNameExtensionFilter?filter?=?new?FileNameExtensionFilter(

"JPG??GIF?Images",?"jpg",?"gif");

//?設(shè)置文件類型

chooser.setFileFilter(filter);

//?打開選擇器面板

int?returnVal?=?chooser.showOpenDialog(this);

if?(returnVal?==?JFileChooser.APPROVE_OPTION)?{

selectedFiles?=?chooser.getSelectedFiles();

repaint();

}

}

public?void?mouseClicked(MouseEvent?e)?{

}

public?void?mouseEntered(MouseEvent?e)?{

}

public?void?mouseExited(MouseEvent?e)?{

}

public?void?mousePressed(MouseEvent?e)?{

Point?point?=?MouseInfo.getPointerInfo().getLocation();

x?=?point.x;

y?=?point.y;

}

public?void?mouseReleased(MouseEvent?e)?{

Point?point?=?MouseInfo.getPointerInfo().getLocation();

int?thisX?=?point.x;

int?thisY?=?point.y;

System.out.println("thisX="?+?thisX?+?"??"?+?"thisY="?+?thisY);

if?((y?-?thisY??20??y?-?thisY??0)

||?(y?-?thisY??0??y?-?thisY??-20))?{

//?Y?在20范圍內(nèi)移動認為是水平移動

if?(x??thisX)?{

//?right

if?(selectedFiles?!=?null

?fileIndex??selectedFiles.length?-?1)?{

fileIndex++;

}

}?else?{

//?left

if?(selectedFiles?!=?null??fileIndex??0)?{

fileIndex--;

}

}

}?else?{

if?(x??thisX)?{

//?右下

width?+=?20;

height?+=?20;

}?else?{

//?左上

width?-=?20;

height?-=?20;

}

}

repaint();

}

class?ImagePanel?extends?JPanel?{

public?void?paint(Graphics?g)?{

super.paint(g);

if?(selectedFiles?!=?null)?{

ImageIcon?icon?=?new?ImageIcon(selectedFiles[fileIndex]

.getPath());

g.drawImage(icon.getImage(),?0,?0,?width,?height,?this);

}

}

}

}

網(wǎng)頁名稱:java調(diào)整圖片長寬代碼 調(diào)整圖片的長寬
當前路徑:http://muchs.cn/article2/docogoc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、網(wǎng)站建設(shè)微信公眾號、網(wǎng)站內(nèi)鏈、營銷型網(wǎng)站建設(shè)、手機網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名