我们专注攀枝花网站设计 攀枝花网站制作 攀枝花网站建设
成都网站建设公司服务热线:400-028-6601

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

java代码实现图片 java编程图片

java实现图片预览功能,可以显示缩列图,具有上下页的功能求技术支持

把图片按照规定的比例压缩,然后保存至FTP,列表读取缩略图,单击显示原图。

为石屏等地区用户提供了全套网页设计制作服务,及石屏网站建设行业解决方案。主营业务为网站设计制作、网站设计、石屏网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

/**

* 压缩图片方法一(高质量)

* @param oldFile 将要压缩的图片

* @param width 压缩宽

* @param height 压缩高

* @param smallIcon 压缩图片后,添加的扩展名(在图片后缀名前添加)

* @param quality 压缩质量 范围:i0.0-1.0/i 高质量:i0.75/i 中等质量:i0.5/i 低质量:i0.25/i

* @param percentage 是否等比压缩 若true宽高比率将将自动调整

*/

public static void compressImage(String oldFile, int width, int height, String smallIcon,

float quality, boolean percentage) {

try {

File file = new File(oldFile);

// 验证文件是否存在

if(!file.exists())

throw new FileNotFoundException("找不到原图片!");

// 获取图片信息

BufferedImage image = ImageIO.read(file);

int orginalWidth = image.getWidth();

int orginalHeight = image.getHeight();

// 验证压缩图片信息

if (width = 0 || height = 0 || !Pattern.matches("^[1-9]\\d*$", String.valueOf(width))

|| !Pattern.matches("^[1-9]\\d*$", String.valueOf(height)))

throw new Exception("图片压缩后的高宽有误!");

// 等比压缩

if (percentage) {

double rate1 = ((double) orginalWidth) / (double) width + 0.1;

double rate2 = ((double) orginalHeight) / (double) height + 0.1;

double rate = rate1  rate2 ? rate1 : rate2;

width = (int) (((double) orginalWidth) / rate);

height = (int) (((double) orginalHeight) / rate);

}

// 压缩后的文件名

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

String newImage = filePrex + smallIcon + oldFile.substring(filePrex.length());

// 压缩文件存放位置

File savedFile = new File(newImage);

// 创建一个新的文件

savedFile.createNewFile();

// 创建原图像的缩放版本

Image image2 = image.getScaledInstance(width, height, Image.SCALE_AREA_AVERAGING);

// 创建数据缓冲区图像

BufferedImage bufImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);

// 创建一个Graphics2D

Graphics2D g2 = bufImage.createGraphics();

// 重绘图像

g2.drawImage(image2, 0, 0, width, height, null);

g2.dispose();

// 过滤像素矩阵

float[] kernelData = { 

-0.125f, -0.125f, -0.125f, 

-0.125f, 2, -0.125f, -0.125f, 

-0.125f, -0.125f };

Kernel kernel = new Kernel(3, 3, kernelData);

// 按核数学源图像边缘的像素复制为目标中相应的像素输出像素

ConvolveOp cOp = new ConvolveOp(kernel, ConvolveOp.EDGE_NO_OP, null);

// 转换像素

bufImage = cOp.filter(bufImage, null);

FileOutputStream out = new FileOutputStream(savedFile);

JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);

JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(bufImage);

// 设置压缩质量

param.setQuality(quality, true);

encoder.encode(bufImage, param);

out.close();

System.out.println(newImage);

} catch (Exception e) {

e.printStackTrace();

System.out.println("压缩失败!" + e.getMessage());

}

}

怎么用java代码模拟一张图片

用java代码模拟一张图片可以这样操作:1.创建BufferedImage类

2.根据BufferedImage类得到一个Graphics2D对象

3.根据Graphics2D对象进行逻辑操作

4.处理绘图

5.将绘制好的图片写入到图片

如何用java代码实现手动点击图片更换想要换的图片替换

一个图片时你知道,现在只是切换的问题?

给按钮添加一个 ActionListener,在它的 actionPerformed 方法中做你的事情,把 jpanel.setIcon(..) 换张图片。


当前标题:java代码实现图片 java编程图片
网站URL:http://shouzuofang.com/article/dopshgs.html

其他资讯