导航:首页 > 编程语言 > java中image类怎么使用

java中image类怎么使用

发布时间:2022-11-27 05:43:03

㈠ 怎样使用java读取image

这是一个图片压缩代码,以前入职的时候照片必须得20k一下,所以我把100多k的照片压缩成了16k,你可以看一下

package com.atee.test;

import java.awt.image.BufferedImage;
import java.awt.image.ColorModel;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

import javax.imageio.IIOImage;
import javax.imageio.ImageIO;
import javax.imageio.ImageWriteParam;
import javax.imageio.ImageWriter;

public class ImageShrink {

public static boolean compressPic(String srcFilePath, String descFilePath) throws IOException {
File file = null;
BufferedImage src = null;
FileOutputStream out = null;
ImageWriter imgWrier;
ImageWriteParam imgWriteParams;

// 指定写图片的方式为 jpg
imgWrier = ImageIO.getImageWritersByFormatName("jpg").next();
imgWriteParams = new javax.imageio.plugins.jpeg.JPEGImageWriteParam(
null);
// 要使用压缩,必须指定压缩方式为MODE_EXPLICIT
imgWriteParams.setCompressionMode(imgWriteParams.MODE_EXPLICIT);
// 这里指定压缩的程度,参数qality是取值0~1范围内,
imgWriteParams.setCompressionQuality((float) 0.7);
imgWriteParams.setProgressiveMode(imgWriteParams.MODE_DISABLED);
ColorModel colorModel =ImageIO.read(new File(srcFilePath)).getColorModel();// ColorModel.getRGBdefault();
// 指定压缩时使用的色彩模式
// imgWriteParams.setDestinationType(new javax.imageio.ImageTypeSpecifier(
// colorModel, colorModel.createCompatibleSampleModel(16, 16)));
imgWriteParams.setDestinationType(new javax.imageio.ImageTypeSpecifier(
colorModel, colorModel.createCompatibleSampleModel(16, 16)));

try {
if (isBlank(srcFilePath)) {
return false;
} else {
file = new File(srcFilePath);System.out.println(file.length());
src = ImageIO.read(file);
out = new FileOutputStream(descFilePath);

imgWrier.reset();
// 必须先指定 out值,才能调用write方法, ImageOutputStream可以通过任何
// OutputStream构造
imgWrier.setOutput(ImageIO.createImageOutputStream(out));
// 调用write方法,就可以向输入流写图片
imgWrier.write(null, new IIOImage(src, null, null),
imgWriteParams);
out.flush();
out.close();
}
} catch (Exception e) {
e.printStackTrace();
return false;
}
return true;
}
public static boolean isBlank(String string) {
if (string == null || string.length() == 0 || string.trim().equals("")) {
return true;
}
return false;
}
public static void main(String[] args) throws IOException {
compressPic("C:\\358x441 - 111.jpg", "C:\\358x441 - 333.jpg");
}
}

㈡ java如何为image类型赋值

image数据类型是sqlserver中用来存贮变长的二进制数据,取值范围在跟int数据类型一样,所以在java中对应的数据类型可以是int,因为是二进制,也可以试试byte[],具体是int还是byte[]好,我没用过,你可以试试。

㈢ java.awt包中的image如何使用

想打开图像文件

参考java.awt.image.BufferedImage 和 java.awt.Toolkit

下面是 java.awt.Toolkit 的方法
Image createImage(byte[] imagedata)
Creates an image which decodes the image stored in the specified byte array.
abstract Image createImage(byte[] imagedata, int imageoffset, int imagelength)
Creates an image which decodes the image stored in the specified byte array, and at the specified offset and length.
abstract Image createImage(ImageProcer procer)
Creates an image with the specified image procer.
abstract Image createImage(String filename)
Returns an image which gets pixel data from the specified file.
abstract Image createImage(URL url)
Returns an image which gets pixel data from the specified URL.

㈣ Java程序中图片的使用方法

使用图像根据需要,可以有多种方法。
如果是放在组件中,如JButton、JLabel中,这些组件需要的是Icon接口的图像,那么使用ImageIcon类来加载图像比较好,new ImageIcon(String filename)或new ImageIcon(URL location)都可以直接加载图像文件。
甚至你还可以先用IO读出byte流,也能用byte[]创建ImageIcon。还可以由已有的Image来创建。
更为高级的用法是,你还可以先创建个空的ImageIcon,然后重写paintIcon(Component,Graphics,int,int)方法实现手工绘制!
如果你是要完成图像绘制,那么使用Image或BufferedImage比较好。
Toolkit.getDefaultToolkit().getImage(String或URL)就能加载图像。
这种方法需要一个图像观察者来监视图像是否加载完成,因为图像加载是异步的。通常,你用一个swing组件就可以充当这个角色。不过少用JLabel,因为我有一个程序用JLabel做观察者CPU占用率经常90%多,有时不出界面。用JPanel或JFrame都没出过这个问题。从API文档看,应该是所有的swing可视组件都实现了观察者接口。
选了观察者后,不用刻意观察加载情况,很简单的一个方法:swing组件的while(!prepareImage(Image));就可以了。
Image接口是Graphics类绘图drawImage要用的,所以绘制时应该选这个。
BufferedImage是实现了Image接口的图像,可以直接操作像索数据!所以利用算法生成图像再绘制,或图像处理可以使用这种方法。如浮雕、反色等。
加载方法是ImageIO类的read方法。

㈤ image怎么实例化 java

方法多了去了

Tookit.getDefaultTookit.createImage

ImageIO.read

new BufferedImage然后 getGraphics.paint()或者getGraphics().drawImage

等等

㈥ java 图形化用户界面中导入图片 image 这个类 怎么用

Image类是java所有图形类的父类,本身不能直接生成图片或者导入图片
可以用Toolkit.getImage(String filename) 或者 Toolkit.getImage(URL url)获得Image的实例

还可以通过Image的一些子类直接创造,例如BufferedImage可以直接创造一个指定大小和色彩范围的Image

㈦ java中怎么用一张图的一部分做出一个image

BufferedImage这个类有个getSubimage方法可以切出一个矩形区域生成一个新的BufferedImage对象。可以参考下面的代码

File imageFile=new File("a.jpg");
File outImageFile=new File("b.jpg");
BufferedImage img=ImageIO.read(imageFile);
BufferedImage outImg=img.getSubimage(0, 0, 1000, 1000);
ImageIO.write(outImg, "jpeg", outImageFile);

㈧ java script里的image图片怎么添加

创建一个img元素,添加到指定dom对象中即可。
可以先使用createElement()方法创建一个img元素,并向img元素的src属性赋图片的URL地址值。然后使用appendChild()方法将img元素添加到指定dom对象中即可。
参数:nodename:必须。创建元素的名称。

㈨ java.awt.Image类

public Image getImage(URL url, String name)

返回能被绘制到屏幕上的 Image 对象。url 参数必须指定绝对 URL。name 参数是相对于 url 参数的说明符。
不管图像存在与否,此方法总是立刻返回。当此 applet 试图在屏幕上绘制图像时,数据将被加载。绘制图像的图形图元将逐渐绘制到屏幕上。

参数:
url - 给出图像基本位置的绝对 URL。
name - 相对于 url 参数的图象位置。
返回:
指定 URL 处的图像。
public abstract boolean drawImage(Image img, int x, int y, ImageObserver observer)
绘制指定图像中当前可用的图像。图像的左上角位于该图形上下文坐标空间的 (x, y)。图像中的透明像素不影响该处已存在的像素。
此方法在任何情况下都立刻返回,甚至在图像尚未完整加载,并且还没有针对当前输出设备完成抖动和转换的情况下也是如此。
如果图像已经完整加载,并且其像素不再发生更改,则 drawImage 返回 true。否则,drawImage 返回 false,并且随着更多的图像可用或者到了绘制动画另一帧的时候,加载图像的进程将通知指定的图像观察者。

参数:
img - 要绘制的指定图像。如果 img 为 null,则此方法不执行任何操作。
x - x 坐标。
y - y 坐标。
observer - 转换了更多图像时要通知的对象。
返回:
如果图像像素仍在更改,则返回 false;否则返回 true。

㈩ java 显示不出图片,使用Image类

public abstract Image getImage(String filename)

返回一幅图像,该图像从指定文件中获取像素数据,图像格式可以是 GIF、JPEG 或 PNG

所以你的代码不支持ico格式的

阅读全文

与java中image类怎么使用相关的资料

热点内容
韩国李采潭拍过的爱情电影 浏览:328
古典武侠另类小说综合 浏览:111
有个叫艾米的是什么电影名字 浏览:597
linux硬件交互 浏览:208
用友软件考生文件夹在哪里 浏览:55
微信投票开发java 浏览:133
哪里可以看《永恒》泰国电影无删减 浏览:538
iphonefacetimewifi 浏览:632
桌面文件没有备份怎么恢复 浏览:207
主角在金三角贩卖军火的小说 浏览:587
疫情时期病例数据从哪里来 浏览:774
重生之红色军工铁血 浏览:86
男主姓皇甫领养女主 浏览:267
数控编程系统回参怎么操作 浏览:946
内地 战争影片3个字 浏览:107
国内最大的视频网站是什么 浏览:756
安徽联通刷钻代码 浏览:952
离我最近的电影院在哪 浏览:627
123.eecom 浏览:506
一部国外电影一个老头爱上一个老太 浏览:704

友情链接