mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-12-08 01:59:14 +08:00
fix bug
This commit is contained in:
parent
f9fb33c3f1
commit
db5f36028f
@ -1727,7 +1727,7 @@ public class ImgUtil {
|
|||||||
* @since 3.1.0
|
* @since 3.1.0
|
||||||
*/
|
*/
|
||||||
public static void write(final Image image, final File targetFile) throws IORuntimeException {
|
public static void write(final Image image, final File targetFile) throws IORuntimeException {
|
||||||
ImgWriter.of(image, FileNameUtil.extName(targetFile)).write(targetFile);
|
ImgWriter.of(image, FileNameUtil.extName(targetFile)).write(targetFile).flush();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1773,7 +1773,8 @@ public class ImgUtil {
|
|||||||
public static void write(final Image image, final String imageType, final ImageOutputStream output, final float quality) {
|
public static void write(final Image image, final String imageType, final ImageOutputStream output, final float quality) {
|
||||||
ImgWriter.of(image, imageType)
|
ImgWriter.of(image, imageType)
|
||||||
.setQuality(quality)
|
.setQuality(quality)
|
||||||
.write(output);
|
.write(output)
|
||||||
|
.flush();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -16,9 +16,9 @@
|
|||||||
|
|
||||||
package cn.hutool.v7.swing.img;
|
package cn.hutool.v7.swing.img;
|
||||||
|
|
||||||
import cn.hutool.v7.core.io.file.FileUtil;
|
|
||||||
import cn.hutool.v7.core.io.IORuntimeException;
|
import cn.hutool.v7.core.io.IORuntimeException;
|
||||||
import cn.hutool.v7.core.io.IoUtil;
|
import cn.hutool.v7.core.io.IoUtil;
|
||||||
|
import cn.hutool.v7.core.io.file.FileUtil;
|
||||||
import cn.hutool.v7.core.lang.Assert;
|
import cn.hutool.v7.core.lang.Assert;
|
||||||
|
|
||||||
import javax.imageio.IIOImage;
|
import javax.imageio.IIOImage;
|
||||||
@ -28,7 +28,6 @@ import javax.imageio.ImageWriter;
|
|||||||
import javax.imageio.stream.ImageOutputStream;
|
import javax.imageio.stream.ImageOutputStream;
|
||||||
import java.awt.Color;
|
import java.awt.Color;
|
||||||
import java.awt.Image;
|
import java.awt.Image;
|
||||||
import java.awt.image.BufferedImage;
|
|
||||||
import java.awt.image.ColorModel;
|
import java.awt.image.ColorModel;
|
||||||
import java.awt.image.RenderedImage;
|
import java.awt.image.RenderedImage;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
@ -96,9 +95,11 @@ public class ImgWriter implements Flushable {
|
|||||||
*
|
*
|
||||||
* @param out 写出到的目标流
|
* @param out 写出到的目标流
|
||||||
* @throws IORuntimeException IO异常
|
* @throws IORuntimeException IO异常
|
||||||
|
* @return this
|
||||||
*/
|
*/
|
||||||
public void write(final OutputStream out) throws IORuntimeException {
|
public ImgWriter write(final OutputStream out) throws IORuntimeException {
|
||||||
write(ImgUtil.getImageOutputStream(out));
|
write(ImgUtil.getImageOutputStream(out));
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -106,8 +107,9 @@ public class ImgWriter implements Flushable {
|
|||||||
*
|
*
|
||||||
* @param targetFile 目标文件
|
* @param targetFile 目标文件
|
||||||
* @throws IORuntimeException IO异常
|
* @throws IORuntimeException IO异常
|
||||||
|
* @return this
|
||||||
*/
|
*/
|
||||||
public void write(final File targetFile) throws IORuntimeException {
|
public ImgWriter write(final File targetFile) throws IORuntimeException {
|
||||||
FileUtil.touch(targetFile);
|
FileUtil.touch(targetFile);
|
||||||
ImageOutputStream out = null;
|
ImageOutputStream out = null;
|
||||||
try {
|
try {
|
||||||
@ -116,14 +118,16 @@ public class ImgWriter implements Flushable {
|
|||||||
} finally {
|
} finally {
|
||||||
IoUtil.closeQuietly(out);
|
IoUtil.closeQuietly(out);
|
||||||
}
|
}
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 通过{@link ImageWriter}写出图片到输出流
|
* 通过{@link ImageWriter}写出图片到输出流
|
||||||
*
|
*
|
||||||
* @param output 输出的Image流{@link ImageOutputStream}, 非空
|
* @param output 输出的Image流{@link ImageOutputStream}, 非空
|
||||||
|
* @return this
|
||||||
*/
|
*/
|
||||||
public void write(final ImageOutputStream output) {
|
public ImgWriter write(final ImageOutputStream output) {
|
||||||
Assert.notNull(output);
|
Assert.notNull(output);
|
||||||
|
|
||||||
final ImageWriter writer = this.writer;
|
final ImageWriter writer = this.writer;
|
||||||
@ -145,14 +149,13 @@ public class ImgWriter implements Flushable {
|
|||||||
// FileCacheImageOutputStream会产生临时文件,此处关闭清除
|
// FileCacheImageOutputStream会产生临时文件,此处关闭清除
|
||||||
IoUtil.closeQuietly(output);
|
IoUtil.closeQuietly(output);
|
||||||
}
|
}
|
||||||
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void flush() {
|
public void flush() {
|
||||||
final RenderedImage renderedImage = this.image;
|
final RenderedImage renderedImage = this.image;
|
||||||
if(renderedImage instanceof BufferedImage){
|
if(renderedImage instanceof Image){
|
||||||
ImgUtil.flush((BufferedImage) renderedImage);
|
|
||||||
} else if(renderedImage instanceof Image){
|
|
||||||
ImgUtil.flush((Image) renderedImage);
|
ImgUtil.flush((Image) renderedImage);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user