Kann GIMP ein Bild in mehrere Bilder aufteilen?

39614
Manu

Ich habe in letzter Zeit viele Fotos gescannt, mehr als jeweils eine. Ich habe jetzt mehrere JPEG-Dateien, die jeweils mehrere Fotos enthalten.

Kann ich mit GIMP ein JPG in 3 kleinere Dateien "aufteilen"?

Was ich früher gemacht habe, ist: das JPG 3-mal kopieren und in jeder Kopie ein anderes Bild zuschneiden.

Es muss einen einfacheren Weg geben, dies zu tun!

EDIT: Gibt es ein Plugin, das das kann? Ich habe mich umgesehen, aber nur Plugins gefunden, die ein Bild in gleich große Teile "schneiden".

18
kannst du eine beispielhafte bildstruktur posten? Was ich suche, ist, wenn die Bilder durch Leerzeichen getrennt oder nxt aufeinander gesteckt werden ... KronoS vor 13 Jahren 0

10 Antworten auf die Frage

21
Zond

ImageMagick . Es ist ein Befehlszeilentool, aber erstaunlich leistungsstark und flexibel. Es lohnt sich also, es zu lernen. Zum Beispiel:

convert -extract 1024x1024+0+0 original.png target.png 

Woher:

  • 1024x1024 ist die Breite und Höhe des erforderlichen Ernteguts
  • + 0 + 0 sind x- und y-Verschiebungen im Originalbild

Sie können Dutzende dieser Befehle in eine .cmd-Datei stecken und mühelos ausführen.

In der ImageMagick-Dokumentation finden Sie Tausende von Optionen für diese Befehle. Ein sehr leistungsfähiges Werkzeug und auch Open Source!

15
Michael Borgwardt

Sie können es so machen:

  • Rechteck ein Bild auswählen
  • Bearbeiten -> Kopieren
  • Bearbeiten -> Einfügen als -> Neues Bild
6
Bob Weber

Michaels Einfügen als -> Neues Bild funktioniert, aber ich verwende in der Regel Ausschneiden statt Kopieren, um Inhalte nicht zu duplizieren.

5
Raymond

Ich habe das Plug-in zum Aufteilen gescannter Bilder verwendet, das gut funktioniert.

4
nekrum

Um es schnell zu machen, können Sie Folgendes verwenden:

Ctrl+ Dzum Kopieren des Bildes
Shift+ Czum Beschneiden der Bilder
Ctrl+ Szum Speichern

3
Milche Patern

Sie können ein Bild in GIMP zeilenweise mit Führungszeilen und dem Hilfsmittel Guillotine (Papierschneider) teilen. Im GIMP-Benutzerhandbuch :

GIMP bietet Ihnen neben dem Bildraster auch eine flexiblere Positionierungshilfe: Führungen. Hierbei handelt es sich um horizontale oder vertikale Linien, die Sie zeitweise auf einem Bild anzeigen können, während Sie daran arbeiten.

Um eine Hilfslinie zu erstellen, klicken Sie einfach auf eine der Lineale im Bildfenster und ziehen Sie eine Hilfslinie heraus, während Sie die Maustaste gedrückt halten. Die Anleitung wird dann als blaue gestrichelte Linie angezeigt, die dem Zeiger folgt. Sobald Sie eine Hilfslinie erstellt haben, wird das Werkzeug "Verschieben" aktiviert und der Mauszeiger ändert sich in das Symbol "Verschieben".

Der Befehl Guillotine schneidet das aktuelle Bild anhand der Hilfslinien des Bildes. Es schneidet das Bild entlang jeder Führung, ähnlich dem Schneiden von Dokumenten in einem Büro mit einer Guillotine (Papierschneider), und erstellt aus den Teilen neue Bilder. Sie können auf diesen Befehl in der Bildmenüleiste über Bild -> Transformieren -> Guillotine zugreifen .

@ Karel .. ja, danke! Milche Patern vor 8 Jahren 0
1
Vitor

Ich habe ein Skript erstellt, das auf der Antwort von Zond basiert. Ihre Bilddatei wird entsprechend den Benutzereingabeparametern gekachelt. Das Skript lautet wie folgt:

# Usage: # # sh crop.sh <tileset_image_file> <tileset_image_width> <tileset_image_height> <tile_size_X> <tile_size_y> # # Example: # sh crop.sh tileset01.png 128 192 32 32 # # - Will generate 24 tiles of 32x32 named tile1.png, tile2.png, ..., tile24.png #  # Your tileset file. I've tested with a png file. origin=$1  # Control variable. Used to name each tile. counter=0  # Location of the tool that we are using to extract the files. I had to create a shortcut of the tool in the same folder as the script. program=convert.exe  # The size of the tile (32x32) tile_size_x=$4 tile_size_y=$5  # Number of rows (horizontal) in the tileset. rows=$2 let rows/=tile_size_x  # Number of columns (vertical) in the tileset. columns=$3 let columns/=tile_size_y  # Tile name prefix. prefix=tile  # Tile name sufix. sufix=.png  echo Extracting $((rows * $columns)) tiles...  for i in $(seq 0 $((columns - 1))); do  for j in $(seq 0 $((rows - 1))); do  # Calculate next cut offset. offset_y=$((i * tile_size_y)) offset_x=$((j * tile_size_x))  # Update naming variable. counter=$((counter + 1))  tile_name=$prefix$counter$sufix  echo $program -extract $tile_size"x"$tile_size"+"$offset_x"+"$offset_y $origin $tile_name $program -extract $tile_size_x"x"$tile_size_y"+"$offset_x"+"$offset_y $origin $tile_name done done echo Done! 

Das Skript arbeitet mit "sh" und dem "Convert" -Tool von ImageMagick. Ich bin mir nicht sicher, ob das Windows-Cmd sh auf native Weise bereitstellt. In diesem Fall kann man sich dieses Thema ansehen, um sh zum Laufen zu bringen. Außerdem muss ImageMagick im System installiert sein und eine Verknüpfung für das Konvertierungswerkzeug in demselben Ordner, in dem das Skript ausgeführt wird.

  • Ich habe nur mit png-Bildern getestet. Ich hoffe es hilft.
0
David Tonhofer

Hier ist eine andere: Ein einzelnes Bild in vier Teile aufteilen. Die Werte müssen manuell in das unten stehende Skript eingegeben werden, je nachdem, wie groß das Originalbild ist. Verwenden Sie das ImageMagick-Werkzeug "Identifizieren" oder das "Datei" -Tool, um die Breite und Höhe des Originalbilds zu überprüfen.

Siehe Befehlszeilenoptionen für '-extract', um zu sehen, wie eine 'Geometrie' angegeben wird.

#!/bin/bash  ORIGINAL=Integration_Tree.png  NEW_WIDTH=2598 # 1/2 of the original width NEW_HEIGHT=1905 # 1/2 of the original height  NEW_SIZE="$x$" POS_IMG0="0+0" POS_IMG1="$+0" POS_IMG2="0+$" POS_IMG3="$+$"  for X in 0 1 2 3; do VAR="POS_IMG$" NEW_GEOMETRY="$+${!VAR}" # cunning use of bash variable indirection CMD="convert -extract $ \"$\" \"out$.png\"" echo $CMD convert -extract $ "$" "out$.png" if [[ $? != 0 ]]; then echo "Some error occurred" >&2 exit 1 fi done 
0
Jean

Vitor-Skript für Linux mit sh. Ich musste nur drei Zeilen wechseln.

#!/usr/bin/env sh # Usage: # sh crop.sh <tileset_image_file> <tileset_image_width> <tileset_image_height> <tile_size_X> <tile_size_y> # # Example: # sh crop.sh tileset01.png 128 192 32 32 # # - Will generate 24 tiles of 32x32 named tile1.png, tile2.png, ..., tile24.png #  # Your tileset file. I've tested with a png file. origin=$1  # Control variable. Used to name each tile. counter=0  # Location of the tool that we are using to extract the files. I had to create a shortcut of the tool in the same folder as the script. program=convert  # The size of the tile (32x32) tile_size_x=$4 tile_size_y=$5  # Number of rows (horizontal) in the tileset. rows=$2 rows=$((rows / $tile_size_x))  # Number of columns (vertical) in the tileset. columns=$3 columns=$((columns / $tile_size_y))  # Tile name prefix. prefix=tile  # Tile name sufix. sufix=.png  echo Extracting $((rows * $columns)) tiles...  for i in $(seq 0 $((columns - 1))); do  for j in $(seq 0 $((rows - 1))); do  # Calculate next cut offset. offset_y=$((i * tile_size_y)) offset_x=$((j * tile_size_x))  # Update naming variable. counter=$((counter + 1))  tile_name=$prefix$counter$sufix  echo $program -extract $tile_size"x"$tile_size"+"$offset_x"+"$offset_y $origin $tile_name $program -extract $tile_size_x"x"$tile_size_y"+"$offset_x"+"$offset_y $origin $tile_name done done echo Done! 
0
Andy Joiner

Ich habe ein einfaches Gimp-Plugin geschrieben, um die aktuelle Auswahl als JPG (feste Qualität) zu speichern.

Dazu müssen Sie jedes Foto manuell auswählen . Ausgabedateinamen werden automatisch generiert.

Holen Sie es auf GitHub

Bildschirmfoto

Eingabe vs. Ausgabe