Announcement

Collapse
No announcement yet.

Bilder verzerren

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Solved Bilder verzerren

    Hallo,
    ich möchte so etwa 500 Bilder in drei Schritten verzerren:

    Code:
    1) Verzerren
    Bild -> Größe ändern…
    Proportional: aus
    B = 71% B
    H = H
    
    2) Bescheiden:
    Bild -> Farb-Rahmen hinzufügen (Canvas)
    Option Center:
    H = Kleinste Seite(B,H)
    B = H*79/80
    
    3) Größe reduzieren
    Bild -> Größe ändern
    H = 79
    B = 80

    Daher möchte ich das Verzerren im Batch in einer Bat-Datei durchführen. Aber ich denke, dass ich dafür die Rückgabe der aktuellen Größe des geändeten Bildes benötige. Wie kann ich das machen? Danke!



    PS: Vielen Dank noch einmal for die GLCD-Unterstüzung

    #2
    Generelle Ermittlung der Bilddimensionen via Batch:
    Code:
    @echo off
    cls
    setlocal enabledelayedexpansion
    
    :: --- Konfiguration --->
    
    :: Pfadangabe zu IrfanView
    set iview=C:\IrfanView\i_view32.exe
    
    :: Bildinfo-Datei
    set nfofile=info.txt
    
    :: <--- Konfiguration ---
    
    
    if "%~1"=="" (
       echo Abbruch^^!
       echo Fehlender Parameter.
    ) else (
       echo   Bildname: "%~nx1"
       "%iview%" "%~1" /info="%TMP%\%nfofile%"
       for /f "tokens=4,6 delims= " %%a in ('find "dimensions" "%TMP%\%nfofile%"') do (
          set width=%%a
          set height=%%b
       )
       echo Bildbreite: !width! Pixel
       echo   Bildhöhe: !height! Pixel
    )
    
    if exist "%TMP%\%nfofile%" del "%TMP%\%nfofile%"
    
    echo.
    echo.
    
    
    endlocal
    »Und so, in eurer Verzweiflung, kommt ihr zu mir.«

    Texteditor EmEditor:
    Deutsche Sprachdatei (v7.01) für EmEditor Pro 7.02 (englisch)
    EmEditor Pro 8.06 (deutsch) | Deutsche Sprachdatei (v8) für EmEditor Pro 8.06 (englisch)
    Deutsche Sprachdatei (v9.16) für EmEditor Pro 9.17 (englisch)

    Comment


      #3
      Vielen Dank für das Skript. Ich habe den Pfad angepasst und es mit dem Bild als Aufrufparamter gestartet:
      Code:
      C:\Windows Batch>convert "C:\Windows Batch\tele5 hd.jpg"
      Leider bekomme ich es nicht zum Laufen:
      Code:
      C:\Windows Batch>setlocal enabledelayedexpansion
      
      C:\Windows Batch>set iview="C:\Program Files (x86)\IrfanView\i_view32.exe"
      
      C:\Windows Batch>set nfofile=info.txt
      "\IrfanView\i_view32.exe""" kann syntaktisch an dieser Stelle nicht verarbeitet werden.
      C:\Windows Batch>   ""C:\Program Files (x86)\IrfanView\i_view32.exe"" "C:\Windows Batch\tele5 hd.jpg" /info="C:\Users\hf\AppData\Local\Temp\info.txt"
      C:\Windows Batch>
      Was mache ich falsch? Ich bin kein bat-Experte.

      Comment


        #4
        Lege denn kompletten Code des Skriptes offen. Das erleichtert die Fehlersuche in beträchtlichem Maße.
        »Und so, in eurer Verzweiflung, kommt ihr zu mir.«

        Texteditor EmEditor:
        Deutsche Sprachdatei (v7.01) für EmEditor Pro 7.02 (englisch)
        EmEditor Pro 8.06 (deutsch) | Deutsche Sprachdatei (v8) für EmEditor Pro 8.06 (englisch)
        Deutsche Sprachdatei (v9.16) für EmEditor Pro 9.17 (englisch)

        Comment


          #5
          Ich habe nicht viel verändert:
          @echo on
          cls
          setlocal enabledelayedexpansion

          :: --- Konfiguration --->

          :: Pfadangabe zu IrfanView
          set iview="C:\Program Files (x86)\IrfanView\i_view32.exe"

          :: Bildinfo-Datei
          set nfofile=info.txt

          :: <--- Konfiguration ---
          ::echo AAAAAAAAAAAAAAAAAAAAAAAAAAAA

          if "%~1"=="" (
          echo LEER
          echo Abbruch^^!
          echo Fehlender Parameter.
          ) else (
          echo NICHT LEER
          echo Bildname: "%~nx1"
          "%iview%" "%~1" /info="%TMP%\%nfofile%"
          for /f "tokens=4,6 delims= " %%a in ('find "dimensions" "%TMP%\%nfofile%"') do (
          set width=%%a
          set height=%%b
          )
          echo Bildbreite: !width! Pixel
          echo Bildhöhe: !height! Pixel
          )

          if exist "%TMP%\%nfofile%" del "%TMP%\%nfofile%"

          echo.
          echo.

          endlocal

          Comment


            #6
            »Kleine Ursache, große Wirkung« – sagt bekanntlich der Volksmund. So auch hier geschehen.

            Die Pfaddeklaration im Skriptkopf hat ohne Anführungszeichen zu erfolgen; folgerichtig muß es an dieser Stelle heißen:

            Code:
            set iview=C:\Program Files (x86)\IrfanView\i_view32.exe
            »Und so, in eurer Verzweiflung, kommt ihr zu mir.«

            Texteditor EmEditor:
            Deutsche Sprachdatei (v7.01) für EmEditor Pro 7.02 (englisch)
            EmEditor Pro 8.06 (deutsch) | Deutsche Sprachdatei (v8) für EmEditor Pro 8.06 (englisch)
            Deutsche Sprachdatei (v9.16) für EmEditor Pro 9.17 (englisch)

            Comment


              #7
              Ich danke dir! Super, es hat geklappt!

              Comment

              Working...
              X