社区
Java
帖子详情
Java能切割别拉伸图片吗
bjily0217
2012-06-26 02:25:10
按4个点切割 并拉伸成长方形
...全文
86
3
打赏
收藏
Java能切割别拉伸图片吗
按4个点切割 并拉伸成长方形
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
bjily0217
2012-06-28
打赏
举报
回复
4个点是不规则四边形
it491328322
2012-06-27
打赏
举报
回复
吖。。。忘记把注释的废弃代码删掉了。。。sorry
it491328322
2012-06-27
打赏
举报
回复
当然可以啊。。。
package com.imagecut;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
public class ImageCut {
/**
* @param args
*/
public static void main(String[] args) {
try {
ImageCut.cutImage("D:\\app_work\\eclipse_work\\myeclipse6.0.1_workspace\\chenwrite\\WebRoot\\imageCut\\img\\a.jpg", 300,300,70,20, 150, 150);
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 生成缩放后的图片和剪裁后的图片
* @param srcPath 原图片的路径
* @param scale 缩放比例
* @param startX 剪裁框的起始坐标 X
* @param startY 剪裁框的起始坐标 Y
* @param width 剪裁后的图片宽度
* @param height 剪裁后的图片高度
* @throws IOException IOException
*/
public static void cutImage(String srcPath, double scale, int startX, int startY, int width, int height) throws IOException {
File srcFile = new File(srcPath);
BufferedImage image = ImageIO.read(srcFile);
int srcWidth = image.getWidth(null);
int srcHeight = image.getHeight(null);
cutImage(srcPath, (int)(srcWidth * scale), (int)(srcHeight * scale), startX, startY, width, height);
}
/**
* 生成缩放后的图片和剪裁后的图片
* @param srcPath 原图片的路径
* @param scaleWidth 缩放后的图片宽度度
* @param scaleHeight 缩放后的图片高度
* @param startX 剪裁框的起始坐标 X
* @param startY 剪裁框的起始坐标 Y
* @param width 剪裁后的图片宽度
* @param height 剪裁后的图片高度
* @throws IOException IOException
*/
public static void cutImage(String srcPath, int scaleWidth, int scaleHeight, int startX, int startY, int width, int height) throws IOException {
File srcFile = new File(srcPath);
BufferedImage image = ImageIO.read(srcFile);
BufferedImage newImage = new BufferedImage(scaleWidth, scaleHeight, BufferedImage.TYPE_INT_RGB);
newImage.getGraphics().drawImage(image.getScaledInstance(scaleWidth, scaleHeight, Image.SCALE_SMOOTH), 0, 0, null);
//保存缩放后的图片
String fileName = srcFile.getName().substring(0,srcFile.getName().lastIndexOf("."));
String fileSufix = srcFile.getName().substring(srcFile.getName().lastIndexOf(".") + 1);
File scaleFile = new File(srcFile.getParent(), fileName + "_scale" + "." + fileSufix);
ImageIO.write(newImage, fileSufix, scaleFile);
//保存裁剪后的图片
File scaleCutFile = new File(srcFile.getParent(), fileName + "_scale_cut" + "." + fileSufix);
ImageIO.write(newImage.getSubimage(startX, startY, width, height), fileSufix, scaleCutFile);
}
}
/**
public static void cutImage(String srcPath, int width, int height) throws IOException {
File srcFile = new File(srcPath);
BufferedImage image = ImageIO.read(srcFile);
int srcWidth = image.getWidth(null);
int srcHeight = image.getHeight(null);
int newWidth = 0, newHeight = 0;
int x = 0, y = 0;
double scale_w = (double)width/srcWidth;
double scale_h = (double)height/srcHeight;
System.out.println("scale_w="+scale_w+",scale_h="+scale_h);
//按原比例缩放图片
if(scale_w < scale_h) {
newHeight = height;
newWidth = (int)(srcWidth * scale_h);
x = (newWidth - width)/2;
} else {
newHeight = (int)(srcHeight * scale_w);
newWidth = width;
y = (newHeight - height)/2;
}
BufferedImage newImage = new BufferedImage(newWidth, newHeight, BufferedImage.TYPE_INT_RGB);
newImage.getGraphics().drawImage(
image.getScaledInstance(newWidth, newHeight, Image.SCALE_SMOOTH), 0, 0, null);
// 保存缩放后的图片
String fileSufix = srcFile.getName().substring(srcFile.getName().lastIndexOf(".") + 1);
File destFile = new File(srcFile.getParent(), UUID.randomUUID().toString() + "." + fileSufix);
// ImageIO.write(newImage, fileSufix, destFile);
// 保存裁剪后的图片
ImageIO.write(newImage.getSubimage(x, y, width, height), fileSufix, destFile);
}
*/
最后一个方法中,有两个步骤:1做图片缩放,2做图片切割。。。你也可以换个位置,先切割,在缩放。。。
图片
缩放、压缩技术
java
实现
本教程将专注于使用
Java
语言实现
图片
的等比缩放和压缩技术,以满足存储和传输的需求。下面,我们将深入探讨这些关键知识点。 首先,我们来了解等比缩放。等比缩放是指在改变
图片
尺寸时,保持其长宽比不变,防止
图片
...
Java
图片
简单处理
本篇文档详细介绍了一种实用的
Java
图像处理工具类——`ImageUtil`,它包含了多种基础且常用的图像处理功能,如图像缩放、旋转绘制、
图片
切割
、
图片
透明度调整以及忽略特定颜色等功能。 #### 二、关键技术点解析 ##...
QQ背景墙
切割
切割
时,要确保
切割
出的
图片
能在QQ聊天窗口内无缝展示,避免
拉伸
或变形,保持图像的清晰度和美观。 五、文件格式与压缩
切割
后的
图片
通常会保存为常见的图像格式,如JPEG、PNG或GIF,根据需求可能需要调整压缩质量...
基于
JAVA
的图像处理软件
### 基于
JAVA
的图像处理软件:J2SE应用程序设计与实现 #### 实验概述与目标 本次实验聚焦于**基于
JAVA
的图像处理软件**的设计与开发,旨在通过实践操作,深入理解J2SE(
Java
Platform Standard Edition)应用程序...
android 具有
图片
斜切功能的自定义控件
本篇文章将详细讲解如何在Android中创建一个具有
图片
斜切功能的自定义控件,该控件是基于ImageView进行扩展的,支持加载本地或网络
图片
,并可以根据实际需求进行定制化的
图片
切割
。 首先,我们创建一个新的类,继承...
Java
51,411
社区成员
86,047
社区内容
发帖
与我相关
我的任务
Java
Java相关技术讨论
复制链接
扫一扫
分享
社区描述
Java相关技术讨论
java
spring boot
spring cloud
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章