java读取图片,Java读取图片

本文目录一览:

java如何读取文件夹中的图片并在界面显示

下面给你提供一个实现,该实现采用了代理模式。这个实现包含两个文件,分别是Client.java和ImageIcoProxy.java,ImageIcoProxy.java负责了图片的延迟加载,你可以修改为不延迟即可。

Client.java的代码为:

import java.awt.Graphics;

import java.awt.Insets;

import javax.swing.Icon;

import javax.swing.JFrame;

public class Client extends JFrame {

private static int IMG_WIDTH = 510;

private static int IMG_HEIGHT = 317;

private Icon imgProxy = null;

public static void main(String[] args) {

Client app = new Client();

app.setVisible(true);

}

public Client() {

super(“Virture Proxy Client”);

imgProxy = new ImageIcoProxy(“D:/test.jpg”, IMG_WIDTH, IMG_HEIGHT);

this.setBounds(100, 100, IMG_WIDTH + 10, IMG_HEIGHT + 30);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

public void paint(Graphics g) {

super.paint(g);

Insets insets = getInsets();

imgProxy.paintIcon(this, g, insets.left, insets.top);

}

}

ImageIcoProxy.java的代码为:

import java.awt.Component;

import java.awt.Graphics;

import javax.swing.Icon;

import javax.swing.ImageIcon;

import javax.swing.SwingUtilities;

public class ImageIcoProxy implements Icon {

private ImageIcon realIcon = null;

private String imgName;

private int width;

private int height;

boolean isIconCreated = false;

public ImageIcoProxy(String imgName, int width, int height) {

this.imgName = imgName;

this.width = width;

this.height = height;

}

public int getIconHeight() {

return realIcon.getIconHeight();

}

public int getIconWidth() {

return realIcon.getIconWidth();

}

public void paintIcon(final Component c, Graphics g, int x, int y) {

if (isIconCreated) {

//已经加载了图片,直接显示

realIcon.paintIcon(c, g, x, y);

g.drawString(“Just Test”, x + 20, y + 370);

} else {

g.drawRect(x, y, width-1, height-1);

g.drawString(“Loading photo…”, x+20, y+20);

synchronized(this) {

SwingUtilities.invokeLater(new Runnable() {

public void run() {

try {

Thread.currentThread().sleep(2000);

realIcon = new ImageIcon(imgName);

isIconCreated = true;

} catch (Exception e) {

e.printStackTrace();

}

c.repaint();

}

}

);

}

}

}

}

java imageIO 读取图片问题

试了一下,这张jpg图片中含有大量的元数据(注解数据),结构复杂,导致java读取错误。

可用画图等图片编辑软件“另存为”或者“导出”一下,同时去掉元数据。

就可以被ImageIO读取

java 怎么一次性读取多张图片

实现思路:一次性读取选中的统一路径下的多张图片,实现整体复制。

//复制文件夹

package com.cdd.util;

import java.io.*;

public class FileUtil {

private static void copy(File[] files, File d) {

if (!d.exists()) //如果指定目录不存在

d.mkdir(); //创建目录

for (int i = 0; i files.length; i++) { //循环遍历要复制的文件夹

if (files[i].isFile()) { //如果文件夹中是文件

try {

FileInputStream fis = new FileInputStream(files[i]); //创建FileInputStream对象

FileOutputStream out = new FileOutputStream(new File(d

.getPath()

+ File.separator + files[i].getName())); //复制后文件的保存路径

int count = fis.available();

byte[] data = new byte[count];

while ((str = bre.readLine())!= null) //读取文件通过readline方法可以有效的避免乱码

out.write(str ); //将读取的信息写入文件中

}

out.close(); //关闭流

fis.close();

} catch (Exception e) {

e.printStackTrace();

}

}

if (files[i].isDirectory()) { //如果文件夹中是一个路径

File des = new File(d.getPath() + File.separator

+ files[i].getName()); //在复制后路径中创建子文件夹

des.mkdir();

copy(files[i].listFiles(), des); //再次调用本方法

}

}

System.out.println(“文件夹复制成功”);

}

Java如何读取文件夹中所有图片,并显示出来

说一下思路吧,首先遍历文件夹,找到对应后缀的文件(png,jpg之类的),然后创建Bitmap对象,使用inputStream将文件转成bitmap对象,之后使用imageview或者GLview显示图片即可。

注意对大图进行压缩,结束时图片必须回收处理,bitmap.recycle()否则图片多了内存溢出

用java怎么读取图片

思路:使用 java.awt.Image包下的Image可以接收图片。读取则使用ImageIO对象。

代码如下:

/**

* 读取图片,首先导入以下的包

*/

import java.awt.Image;

import javax.imageio.ImageIO;

import java.io.*;

/**

* 用Image对象来接收图片

* 路径根据实际情况修改

*/

Image image = ImageIO.read(new File(“c:\\1.png”));

System.out.println(image.getSource());

怎么用java从文件中读取图片和写入图片到文件里

首先导入各种需要的包:

import java.awt.Image;

import javax.imageio.ImageIO;

import java.io.*;

读取图片的方法如下:

Image[] array = new Image[10];

Image image = ImageIO.read(new File(“d:\\source.gif”));//根据你实际情况改文件路径吧

array[0] = image;

图片读出来了。

如果你有一个Image对象,想把它写入文件可以这样做:

BufferedImage image = ImageIO.read(new File(“d:\\source.gif”));

//要想保存这个对象的话你要把image声明为BufferedImage 类型

ImageIO.write(image, “png”, new File(“f:\\test.png”));

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/192444.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-01 09:58
下一篇 2024-12-01 09:58

相关推荐

  • Java JsonPath 效率优化指南

    本篇文章将深入探讨Java JsonPath的效率问题,并提供一些优化方案。 一、JsonPath 简介 JsonPath是一个可用于从JSON数据中获取信息的库。它提供了一种DS…

    编程 2025-04-29
  • java client.getacsresponse 编译报错解决方法

    java client.getacsresponse 编译报错是Java编程过程中常见的错误,常见的原因是代码的语法错误、类库依赖问题和编译环境的配置问题。下面将从多个方面进行分析…

    编程 2025-04-29
  • Java腾讯云音视频对接

    本文旨在从多个方面详细阐述Java腾讯云音视频对接,提供完整的代码示例。 一、腾讯云音视频介绍 腾讯云音视频服务(Cloud Tencent Real-Time Communica…

    编程 2025-04-29
  • Java Bean加载过程

    Java Bean加载过程涉及到类加载器、反射机制和Java虚拟机的执行过程。在本文中,将从这三个方面详细阐述Java Bean加载的过程。 一、类加载器 类加载器是Java虚拟机…

    编程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介绍

    本文将详细介绍Java Milvus SearchParam withoutFields的相关知识和用法。 一、什么是Java Milvus SearchParam without…

    编程 2025-04-29
  • 用Python绘制酷炫图片

    在本篇文章中,我们将展示如何使用Python绘制酷炫的图片。 一、安装Python绘图库 在使用Python绘制图片之前,我们需要先安装Python绘图库。Python有很多绘图库…

    编程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java语言中的一个版本,于2014年3月18日发布。本文将从多个方面对Java 8中某一周的周一进行详细的阐述。 一、数组处理 Java 8新特性之一是Stream…

    编程 2025-04-29
  • Java判断字符串是否存在多个

    本文将从以下几个方面详细阐述如何使用Java判断一个字符串中是否存在多个指定字符: 一、字符串遍历 字符串是Java编程中非常重要的一种数据类型。要判断字符串中是否存在多个指定字符…

    编程 2025-04-29
  • VSCode为什么无法运行Java

    解答:VSCode无法运行Java是因为默认情况下,VSCode并没有集成Java运行环境,需要手动添加Java运行环境或安装相关插件才能实现Java代码的编写、调试和运行。 一、…

    编程 2025-04-29
  • Java任务下发回滚系统的设计与实现

    本文将介绍一个Java任务下发回滚系统的设计与实现。该系统可以用于执行复杂的任务,包括可回滚的任务,及时恢复任务失败前的状态。系统使用Java语言进行开发,可以支持多种类型的任务。…

    编程 2025-04-29

发表回复

登录后才能评论