标题: 50元红包写个裁切PNG透明图片的批处理 [打印本页]
作者: 6553244 时间: 2016-9-16 16:14 标题: 50元红包写个裁切PNG透明图片的批处理
我这里有很多PNG格式的循环图片,但是都是太大了 用PS的裁切透明区域后 会照成图片播放位置异常,也就是图1和图2不能很好的衔接在一起,有没有办法可以自动裁切PNG透明区域,然后把偏移的X坐标Y坐标用TXT对应保存起来!以达到减小文件大小的目的!联系QQ6553244
作者: 6553244 时间: 2016-9-16 16:28
实现不了吗 还是价格低了?
作者: GNU 时间: 2016-9-16 19:17
选几个处理之前的图片和对应的处理之后的图片,打包上传到网盘,我需要看看你想实现什么效果。
作者: 523066680 时间: 2016-9-28 12:40
本帖最后由 523066680 于 2016-9-28 12:42 编辑
图片样板,处理后的样板示例。截图也行。
补充
突然想起来, PNG 有压缩算法,也就是连续同样颜色的区域是不占用多大空间的
去除白边或者裁剪去除背景部分,很难难缩小文件体积。如果是BMP就不同、
考虑image magick 或者libpng,还未尝试
作者: aa77dd@163.com 时间: 2016-9-29 14:05
- @echo off
- setlocal enabledelayedexpansion
-
- set "IM=D:\桌面\ImageMagick-7.0.3-0-portable-Q16-x86"
- set "图片目录=PICDIR"
- set "坐标目录=%图片目录%\Placements"
-
- for %%N in (identify convert) do for %%a in ("%IM%\%%N.exe") do set "%%N=%%~sa"
-
- 2>nul md "%~dp0%坐标目录%\"
-
- set /a "cntPic=sumPic=0"
-
- for %%x in (png bmp) do for /f "delims=" %%i in ('2^>nul dir /a-d /b /s "%~dp0%图片目录%\*.%%x" ^| find /v /c ""') do ^
- set /a "sumPic += %%i"
-
- for %%x in (png bmp) do for /f "delims=" %%i in ('2^>nul dir /a-d /b /s "%~dp0%图片目录%\*.%%x"') do (
-
- for /f "tokens=1-2" %%b in ('%identify% -format "%%[fx:w] %%[fx:h]" "%%~i"') do (
-
- set /a "cntPic+=1, 原宽=%%b,原高=%%c"
- title 已完成 !cntPic!/!sumPic! %~nx0 & rem 在标题栏上显示处理进度
- REM echo;%%i
- REM echo;原尺寸:!原宽!,!原高!
-
- REM 剪上部 和 左部 空白
- %convert% "%%~i" -gravity South ^
- -background white -splice 0x1 -background black -splice 0x1 ^
- -trim +repage -chop 0x1 ^
- -gravity East ^
- -background white -splice 1x0 -background black -splice 1x0 ^
- -trim +repage -chop 1x0 ^
- "%%~i"
-
- for /f "tokens=1-2" %%b in ('%identify% -format "%%[fx:w] %%[fx:h]" "%%~i"') do (
- set /a "x = 原宽-%%b, y = 原高-%%c"
- >"%~dp0%坐标目录%\%%~ni.txt" (echo;!x!& echo;!y!)
- )
-
- REM 一次性裁剪掉四边空白
- %convert% "%%~i" -gravity SouthEast ^
- -background white -splice 0x0 -background black -splice 0x0 ^
- -trim +repage -chop 0x0 "%%~i"
-
- REM 剪下部和右部空白
- REM %convert% "%%~i" -gravity North ^
- REM -background white -splice 0x1 -background black -splice 0x1 ^
- REM -trim +repage -chop 0x1 ^
- REM -gravity West ^
- REM -background white -splice 1x0 -background black -splice 1x0 ^
- REM -trim +repage -chop 1x0 ^
- REM "%%~i"
-
- )
- )
- echo;!cntPic!/!sumPic! 已完成处理
-
- pause
- exit
-
-
-
-
- REM 一次性裁剪掉四边空白
- REM %convert% "d:\test.png" -gravity SouthEast ^
- REM -background white -splice 0x0 -background black -splice 0x0 ^
- REM -trim +repage -chop 0x0 "d:\test.png"
-
-
- REM 剪上部空白
- %convert% "D:\test.png" -gravity South ^
- -background white -splice 0x1 -background black -splice 0x1 ^
- -trim +repage -chop 0x1 "d:\trim_South.png"
-
- REM 剪左部空白
- %convert% "d:\trim_South.png" -gravity East ^
- -background white -splice 1x0 -background black -splice 1x0 ^
- -trim +repage -chop 1x0 "d:\trim_SouthEast.png"
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |