java 图片 变黑_JAVA 压缩图片导致背景变黑
上代码:
/**
* 按照比例缩放
*
* @param sourceFile
* @param targetFile
*/
public void zoom(File sourceFile, File targetFile, int wh,int yh,boolean circular) {
try {
BufferedImage image = ImageIO.read(sourceFile);
BufferedImage newImage = zoom(image, (int) Math.ceil(wh ), (int) Math.ceil(yh));
//去除背景黑底
newImage.getGraphics().fillRect( 0, 0 , wh, yh);
newImage.getGraphics().drawImage(image.getScaledInstance(wh, yh,Image.SCALE_SMOOTH), 0, 0, null);
String formatName = getImageFormatName(sourceFile);
if (formatName == null || formatName.length() == 0) {
return;
}
//设置图片变成圆形
if(circular){
newImage=convertCircular(newImage,wh);
}
ImageIO.write(newImage, formatName, targetFile);
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 传入的图像必须是正方形的 才会 圆形 如果是长方形的比例则会变成椭圆的
*
* 图片裁圆
* @return
* @throws IOException
*/
public static BufferedImage convertCircular(BufferedImage bi1,int min) throws IOException {
//BufferedImage bi1 = ImageIO.read(sourceFile);
// 这种是黑色底的
//BufferedImage bi2 = new BufferedImage(bi1.getWidth(), bi1.getHeight(), BufferedImage.TYPE_INT_RGB);
// 透明底的图片
BufferedImage bi2 = new BufferedImage(min, min, BufferedImage.TYPE_4BYTE_ABGR);
Ellipse2D.Double shape = new Ellipse2D.Double(0, 0,min,min);
Graphics2D g2 = bi2.createGraphics();
g2.setClip(shape);
// 使用 setRenderingHint 设置抗锯齿
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g2.drawImage(bi1, 0, 0, null);
// 设置颜色
g2.setBackground(Color.green);
g2.dispose();
return bi2;
}
newImage.getGraphics().fillRect( 0, 0 , wh, yh);
newImage.getGraphics().drawImage(image.getScaledInstance(wh, yh,Image.SCALE_SMOOTH), 0, 0, null);
这两行代码是为了背景去黑底起作用的
java 图片 变黑_JAVA 压缩图片导致背景变黑相关推荐
- java 使用Thumbnailator 上传图片 并压缩图片大小
http://www.cnblogs.com/miskis/p/5500822.html java 上传图片 并压缩图片大小 Thumbnailator 是一个优秀的图片处理的Google开源Java ...
- java采用降低图片分辨率大小来压缩图片大小
我看了网上大多数对图片的压缩都是基于对图片width和hight进行裁剪来降低图片实际大小,但这种方式容易导致图片内容的丢失,所以推荐大家采用以下这种方式 import java.awt.image. ...
- thumbnails 变黑_phpcms v9图片生成缩略图变成黑色解决方法
今天客户反映,上传的图片生成缩略图有的图片变成黑色, 出现问题就百度了一下,有不少网友也遇到这样的问题,但是官方论坛也没有给出解决办法,那还得靠自己解决了,于是就研究phpcms v9 图片压缩代码. ...
- 保存图片到相册及图片变黑问题
今天写一下保存图片到手机相册的功能! 整个保存图片的代码如下: public void saveImageToGallery(Context context, Bitmap bmp) {if (!En ...
- java制作水效果_java实现图片加水印效果
图片加水印代码,这些代码不常用,但是用到的时候需要注意的地方也挺多的,每次都重写比较麻烦,记下来备忘.代码是图片加水印的一般流程,可根据实际项目需要自行修改. 注:代码在JPG和PNG格式图片下测试通 ...
- java exif 语言编码_Java读取图片EXIF信息的代码
Java读取图片EXIF信息的代码 本文实例讲述了Java读取图片EXIF信息的方法.分享给大家供大家参考.具体分析如下: 首先介绍一下什么是EXIF,EXIF是Exchangeable Image ...
- java图片转字符_java实现图片转字符图(看的过去的亚子)
普通图片转换为ASSIC码灰度图片 原图: 效果图: 转换方法 读取图片文件到BufferedImage 读取BufferedImage中的RGB值 将RGB三色值按照(0.3,0.59,0.11)权 ...
- java 给图片加马赛克_java处理图片--图片的缩放,旋转和马赛克化
下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. 这是我自己结合网上的一些资料封装的java图片处理类,支持图片的缩放,旋转,马赛克化.(转 ...
- java 图片上写字_java 在图片上写字,两个图片合并的实现方法
实例如下: package writeimg; import javax.imageio.ImageIO; import java.awt.Color; import java.awt.Font; i ...
- java 两张图片合并_java 在图片上写字,两个图片合并的实现方法
实例如下: package writeimg; import javax.imageio.ImageIO; import java.awt.Color; import java.awt.Font; i ...
最新文章
- java二级下拉菜单_航菜单栏中的二级下拉菜单
- mysql存储过程遍历新增_MySQL存储过程:内部调用存储过程、存储过程实现遍历数据库建表以及修改字段...
- java params 关键字_转载------C# ref 和 out ,params关键字的用法
- 【maven插件】maven-help-plugin
- flink下载以及兼容性问题
- php 网站上传大小限制吗,配置PHP程序网站上传文件大小的限制!
- javascript Date对象
- Ubuntu安装JDK,搭建java环境
- 李宏毅机器学习笔记——深度学习
- OpenAPI Specification
- excel单元格内容拆分_Excel | 单元格内容换行的两种方法
- iDLG Improved Deep Leakage from Gradients
- 如何用计算机打出字,两个字中间的点怎么打出来?
- UL-1973-2022 储能电池安全标准
- 解决Pycharm装Illuminated Cloud之后无法创建项目的思路_艾孜尔江撰稿
- VS中调试QT项目报错合集
- Symfony 初步了解
- linux 从命令行启动,硬盘安装Linux和从Grub命令行启动操作系统
- 深度学习和机器博弈如何结合_对抗机器学习的博弈论方法
- kali 火路的使用
热门文章
- 叶俊:让能量爆棚的秘诀
- 如何简单有效的管理企业数据安全
- cx_oracle clob字段入库报错ORA-24816: Expanded non LONG bind data supplied after actual LONG or LOB column
- java海贼王_Java 学以致用--为我的海贼王统一命名
- ibm tivoli_带有Tivoli Access Manager的SAP NetWeaver Application Server ABAP的单点登录
- 小草音乐播放器[emlog插件]
- win10笔记本电脑外接USB键盘开机失灵解决方案
- android 9 vxp 闪退,XPrivacyLua限制了权限的应用无法打开
- .ul>li 和 .ul li的区别
- Logstash mutate 插件