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无损压缩图片的示例,把原图片复制到指定目录,按原图比例改变尺寸,不影响图片质量。
图片压缩就是讲图片的内存变小 对象数坑定有印象 你将压缩率改小一点 调整一下压缩率 到自己满意为止