ImageMagickを使って右と下の余白消す

バッチファイル

@echo off
setlocal enabledelayedexpansion

set IM=C:\app\ImageMagick\convert.exe
set INPUT=Y:\INPUT
set OUTPUT=Y:\OUTPUT
set TMP=Y:\INPUT\im_tmp.txt

if not exist "%OUTPUT%" mkdir "%OUTPUT%"

for %%f in ("%INPUT%\*.png") do (

    echo ===============================
    echo File: %%f

    rem --- 1. trim 後のサイズ+オフセットをファイルに書き出し ---
    "%IM%" "%%f" -fuzz 10%% -trim -format "%%wx%%h+%%X+%%Y" info: > "%TMP%"

    rem --- 2. raw を読み込む ---
    set raw=
    for /f %%A in (%TMP%) do (
        set raw=%%A
    )

    rem --- 3. "++" を "+" に補正 ---
    set fixed=!raw:++=+!

    echo raw   = !raw!
    echo fixed = !fixed!

    rem --- 4. 分解(幅x高さ+X+Y) ---
    set tw=
    set th=
    set left=
    set top=

    for /f "tokens=1-4 delims=x+" %%A in ("!fixed!") do (
        set tw=%%A
        set th=%%B
        set left=%%C
        set top=%%D
    )

    echo tw   = !tw!
    echo th   = !th!
    echo left = !left!
    echo top  = !top!

    rem --- 5. 元画像サイズ取得 ---
    "%IM%" "%%f" -format "%%wx%%h" info: > "%TMP%"
    set orig=
    for /f %%A in (%TMP%) do (
        set orig=%%A
    )

    for /f "tokens=1,2 delims=x" %%A in ("!orig!") do (
        set ow=%%A
        set oh=%%B
    )

    echo ow = !ow!
    echo oh = !oh!

    rem --- 6. 右と下の余白計算 ---
    set /a right=!ow!-!tw!-!left!
    set /a bottom=!oh!-!th!-!top!

    echo right  = !right!
    echo bottom = !bottom!

    rem --- 7. 新しいサイズ ---
    set /a neww=!ow!-!right!
    set /a newh=!oh!-!bottom!

    echo neww = !neww!
    echo newh = !newh!

    rem --- 8. crop 実行 ---
    "%IM%" "%%f" -crop !neww!x!newh!+0+0 "%OUTPUT%\%%~nf_trim.png"

    echo.
)

echo 完了。
pause

上下左右の余白を取る

C:\app\ImageMagick\mogrify -fuzz 5%% -trim +repage  Y:\output_folder4\nf.png

magick input.jpg -fuzz 10% -bordercolor "#487EA9" -trim +repage output.jpg

C:\app\ImageMagick\convert Y:\INPUT\\6f.png  -fuzz 10%% -alpha off  -fill none -draw "color 0,0 floodfill" -trim +repage  Y:\INPUT\\7f.png 

etc

Posted by eightban