add paramsd

This commit is contained in:
Looly
2022-09-05 19:10:20 +08:00
parent 92d1843fbd
commit 6705274112
2 changed files with 21 additions and 18 deletions

View File

@@ -450,12 +450,13 @@ public class ImgUtil {
* *
* @param srcImageFile 源图像文件 * @param srcImageFile 源图像文件
* @param destDir 切片目标文件夹 * @param destDir 切片目标文件夹
* @param formatName 格式名称,即图片格式后缀
* @param rows 目标切片行数。默认2必须是范围 [1, 20] 之内 * @param rows 目标切片行数。默认2必须是范围 [1, 20] 之内
* @param cols 目标切片列数。默认2必须是范围 [1, 20] 之内 * @param cols 目标切片列数。默认2必须是范围 [1, 20] 之内
*/ */
public static void sliceByRowsAndCols(final File srcImageFile, final File destDir, final int rows, final int cols) { public static void sliceByRowsAndCols(final File srcImageFile, final File destDir, final String formatName, final int rows, final int cols) {
try { try {
sliceByRowsAndCols(ImageIO.read(srcImageFile), destDir, rows, cols); sliceByRowsAndCols(ImageIO.read(srcImageFile), destDir, formatName, rows, cols);
} catch (final IOException e) { } catch (final IOException e) {
throw new IORuntimeException(e); throw new IORuntimeException(e);
} }
@@ -466,10 +467,11 @@ public class ImgUtil {
* *
* @param srcImage 源图像,如果非{@link BufferedImage}则默认使用RGB模式 * @param srcImage 源图像,如果非{@link BufferedImage}则默认使用RGB模式
* @param destDir 切片目标文件夹 * @param destDir 切片目标文件夹
* @param formatName 格式名称,即图片格式后缀
* @param rows 目标切片行数。默认2必须是范围 [1, 20] 之内 * @param rows 目标切片行数。默认2必须是范围 [1, 20] 之内
* @param cols 目标切片列数。默认2必须是范围 [1, 20] 之内 * @param cols 目标切片列数。默认2必须是范围 [1, 20] 之内
*/ */
public static void sliceByRowsAndCols(final Image srcImage, final File destDir, int rows, int cols) { public static void sliceByRowsAndCols(final Image srcImage, final File destDir, final String formatName, int rows, int cols) {
if (false == destDir.exists()) { if (false == destDir.exists()) {
FileUtil.mkdir(destDir); FileUtil.mkdir(destDir);
} else if (false == destDir.isDirectory()) { } else if (false == destDir.isDirectory()) {
@@ -497,7 +499,7 @@ public class ImgUtil {
for (int j = 0; j < cols; j++) { for (int j = 0; j < cols; j++) {
tag = cut(bi, new Rectangle(j * destWidth, i * destHeight, destWidth, destHeight)); tag = cut(bi, new Rectangle(j * destWidth, i * destHeight, destWidth, destHeight));
// 输出为文件 // 输出为文件
ImageIO.write(toRenderedImage(tag), IMAGE_TYPE_JPEG, new File(destDir, "_r" + i + "_c" + j + ".jpg")); ImageIO.write(toRenderedImage(tag), formatName, new File(destDir, "_r" + i + "_c" + j + ".jpg"));
} }
} }
} catch (final IOException e) { } catch (final IOException e) {
@@ -2100,6 +2102,7 @@ public class ImgUtil {
/** /**
* 给定RGB是否匹配过滤器中任何一个RGB颜色 * 给定RGB是否匹配过滤器中任何一个RGB颜色
*
* @param r R * @param r R
* @param g G * @param g G
* @param b B * @param b B

View File

@@ -89,7 +89,7 @@ public class ImgUtilTest {
@Test @Test
@Ignore @Ignore
public void sliceByRowsAndColsTest() { public void sliceByRowsAndColsTest() {
ImgUtil.sliceByRowsAndCols(FileUtil.file("d:/test/logo.jpg"), FileUtil.file("d:/test/dest"), 1, 5); ImgUtil.sliceByRowsAndCols(FileUtil.file("d:/test/logo.jpg"), FileUtil.file("d:/test/dest"), ImgUtil.IMAGE_TYPE_JPEG, 1, 5);
} }
@Test @Test