java復制圖片
① java編寫時,怎麼輸出一張圖片呀
(1)首先用ImageIO類讀取這張圖片
(2)如果要對這張圖片修改,通過圖片獲取Graphics對象,再調用Graphics的方法來繪制、修改。
(3)再調用ImageIO的方法將圖片輸出到特定IO流即可。
具體代碼實例可參考李剛的瘋狂Java講義的11.8節。
② Java如何對壓縮包里文件進行操作,把裡面的圖片文件復制到指定目錄(壓縮包裡面存在文件夾,下面的文件)
jar命令不是用來執行jar包的,是用來打包的
執行用java -jar
就樓主給的參數,寫一個例子好了
1.建立MANIFEST.MF (在D:\workspace\test\class目錄下)
以下內容為文件內容
==================
Manifest-Version: 1.0
Main-Class: a(主類的路徑,此選項可選,如果希望在windows下雙擊就執行,必須寫)
Created-By: Abc Company(隨便寫,這個是創建人名字)
==================
2.打包
按照lz給的條件
在D:\workspace\test\classes\目錄下執行
jar cvfm classes.jar MANIFEST.MF *.*
以上命令將class下所有文件打包到classes.jar,生成在class目錄下
3.執行
輸入java -jar classes.jar即可執行
4.另一種方案
如果希望使用非 JAR 工具建立 JAR 文件, 建議使用 WinRAR. 首先還是需要建立一個清單文件(名字必須為MANIFEST.MF), 向此文件中寫入同使用 JAR 工具時一樣的內容, 接著需要建立一個META-INF子目錄, 然後將 MANIFEST.MF 放入此目錄, 接著就可以保持目錄結構將所有這些內容使用 WinRAR 壓縮為 ZIP 格式的文件, 文件名取為 xxx.jar 即可.
③ Java程序怎樣導入圖片
圖片名字是img1.JPG,你放到本程序的目錄下面就好了。
import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;
import java.io.*;
import javax.imageio.*;
import javax.swing.*;
public class TestMenu1 extends JFrame{
private JTextArea textArea=new JTextArea();
private JMenuBar menuBar=new JMenuBar();
private JMenu fileMenu=new JMenu("文件");
private JMenu viewMenu=new JMenu("視圖");
private JMenu toolMenu=new JMenu("工具欄");
private JMenuItem[] fileItem={new JMenuItem("新建"),new JMenuItem("打開"),new JMenuItem("保存"),new JMenuItem("退出")};
private JMenuItem[] viewItem={new JMenuItem("普通"),new JMenuItem("頁面")};
private JCheckBoxMenuItem[] toolItem={new JCheckBoxMenuItem("常用"),new JCheckBoxMenuItem("繪圖"),new JCheckBoxMenuItem("符號欄")};
private JPanel jPanel1;
private JLabel jLabel;
private Image image;
private ImageIcon imageIcon ;
public TestMenu1(String title){
super(title);
jPanel1=new JPanel();
image = Toolkit.getDefaultToolkit().getImage("img1.JPG");
jLabel = new JLabel();
imageIcon = new ImageIcon(image);
jLabel.setIcon(imageIcon);
add(jLabel, BorderLayout.NORTH);
add(jPanel1, BorderLayout.SOUTH);
setVisible(true);
setSize(600, 600);
ActionListener actListener=new ActionListener(){
public void actionPerformed(ActionEvent e){
if(((JMenuItem)e.getSource()).getText()=="退出"){
System.exit(0);
}else{
textArea.setText(((JMenuItem)e.getSource()).getText());
}
}
};
ItemListener itemListener=new ItemListener(){
public void itemStateChanged(ItemEvent e){
String str=new String("");
for(int i=0;i<toolItem.length;i++){
if(toolItem[i].isSelected()){
str+=toolItem[i].getText()+"\n";
}
}
if(str.length()==0){
textArea.setText("沒有復選");
}else{
textArea.setText(str);
}
}
};
for(int i=0;i<fileItem.length;i++){
fileItem[i].addActionListener(actListener);
fileMenu.add(fileItem[i]);
if(i==2){
fileMenu.addSeparator();
}
}
for(int i=0;i<viewItem.length;i++){
viewItem[i].addActionListener(actListener);
viewMenu.add(viewItem[i]);
}
viewMenu.addSeparator();
viewMenu.add(toolMenu);
for(int i=0;i<toolItem.length;i++){
toolItem[i].addItemListener(itemListener);
toolMenu.add(toolItem[i]);
}
menuBar.add(fileMenu);
menuBar.add(viewMenu);
setJMenuBar(menuBar);
add(new JScrollPane(textArea));
}
public static void main(String[] args){
//TestMenu frame=
new TestMenu1("DEMO");
//frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//frame.setSize(300,180);
//frame.setVisible(true);
}
}
④ Java使用FileReader和PrintWriter復制的圖片無法打開為什麼
參考一下:
importjava.io.BufferedInputStream;
importjava.io.BufferedOutputStream;
importjava.io.FileInputStream;
importjava.io.FileOutputStream;
importjava.io.IOException;
publicclassPictureCopy{
publicstaticvoidmain(String[]args)throwsIOException{
BufferedInputStreamin=newBufferedInputStream(newFileInputStream("E://a//QQ圖片2011152833.jpg"));
BufferedOutputStreamout=newBufferedOutputStream(newFileOutputStream("E://b//.jpg"));
inti;
while((i=in.read())!=-1){
out.write(i);
}
out.flush();
out.close();
in.close();
}
}
⑤ java中怎樣導入圖片
不明比你的意思,你是想要將圖片放到java項目中去還是用java寫代碼導入圖片。前者:直接復制粘貼就OK了,後者:你將圖片看成文件就OK了,和文件導入完全相同的,你可以利用Struts2導入
⑥ 請問下java中導出圖片怎麼做
package com.xolt;
import java.io.FileOutputStream;
import java.io.File;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.awt.image.BufferedImage;
import javax.imageio.*;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFPatriarch;
import org.apache.poi.hssf.usermodel.HSSFClientAnchor;;
public class TestPOI {
public static void main(String[] args) {
FileOutputStream fileOut = null;
BufferedImage bufferImg =null;
BufferedImage bufferImg1 = null;
try{
//先把讀進來的圖片放到一個ByteArrayOutputStream中,以便產生ByteArray
ByteArrayOutputStream byteArrayOut = new ByteArrayOutputStream();
ByteArrayOutputStream byteArrayOut1 = new ByteArrayOutputStream();
bufferImg = ImageIO.read(new File("C:/Documents and Settings/dingqi/Desktop/clip_image002.jpg"));
bufferImg1 = ImageIO.read(new File("C:/Documents and Settings/dingqi/Desktop/clip_image002.jpg"));
ImageIO.write(bufferImg,"jpg",byteArrayOut);
ImageIO.write(bufferImg1,"jpg",byteArrayOut1);
//創建一個工作薄
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet1 = wb.createSheet("poi picT");
//HSSFRow row = sheet1.createRow(2);
HSSFPatriarch patriarch = sheet1.createDrawingPatriarch();
HSSFClientAnchor anchor = new HSSFClientAnchor(0,0,512,255,(short) 1,1,(short)10,20);
HSSFClientAnchor anchor1 = new HSSFClientAnchor(0,0,512,255,(short) 2,30,(short)10,60);
anchor1.setAnchorType(2);
//插入圖片
patriarch.createPicture(anchor , wb.addPicture(byteArrayOut.toByteArray(),HSSFWorkbook.PICTURE_TYPE_JPEG));
patriarch.createPicture(anchor1 , wb.addPicture(byteArrayOut1.toByteArray(),HSSFWorkbook.PICTURE_TYPE_JPEG));
fileOut = new FileOutputStream("c:/workbook.xls");
//寫入excel文件
wb.write(fileOut);
fileOut.close();
}catch(IOException io){
io.printStackTrace();
System.out.println("io erorr : "+ io.getMessage());
} finally
{
if (fileOut != null)
{
try {
fileOut.close();
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
poi中圖片到到excel的方法 你需要准備poi包 試試看看
⑦ 求一個Java無損壓縮圖片的示例,把原圖片復制到指定目錄,按原圖比例改變尺寸,不影響圖片質量。
圖片壓縮就是講圖片的內存變小 對象數坑定有印象 你將壓縮率改小一點 調整一下壓縮率 到自己滿意為止