Command Palette

Search for a command to run...

In der Naht geht ein geteiltes Bild schief

In der Naht geht ein geteiltes Bild schief

T
Toolz Team
|Oct 21, 2026|17 min lesen
Bevorzugen Sie Toolz.dev bei Google

Teil der Sammlung Bildkonverter

Image Splitter

Cut an image into a grid of equal tiles in your browser, then download them as a ZIP

Verwenden Sie die Image Splitter

Ein in drei dreifach geschnittenes Bild mit einer Breite von 1001 Pixel ergibt keine drei Kacheln von 333. Es gibt 333, 334 und 333, und welche Kachel bekommt das zusätzliche Pixel, entscheidet, ob das Bild wieder zusammengeht. Die offensichtliche Möglichkeit, dies zu schreiben, indem die Breite durch die Anzahl dividiert und diese Größe für jede Kachel verwendet wird, lässt 2.333 Pixel von einem Bild von 1001 mal 667 fallen, ohne etwas zu melden. Die Fliesen sehen alleine gut aus. Der Schaden tritt nur auf, wenn sie wieder nebeneinander sind, als eine dünne Linie des Falschen in der Naht, die auf einem neunteiligen Instagram-Raster der einzige Ort ist, an dem jeder Besucher hinschaut.

tl; dr: Das Teilen eines Bildes ist eine arithmetische Entscheidung, die wiederholt wird: Wo fällt jeder Schnitt, wenn das Bild nicht gleichmäßig verteilt wird. Wenn Sie jede Grenze aus einer einzelnen abgerundeten Sequenz berechnen, wird die linke Kante des Kachelns rechten Rand durch Konstruktion ausgeführt, sodass die Teile genau wieder zusammengesetzt werden. Verifiziert durch Hashing: Ein 1001x667-Bild, das in neun Kacheln aufgeteilt und zurückgefügte Rohpixel mit demselben MD5 wie das Original aufgeteilt wurde, 6fc1f790a418dc1ed3ee3d11747f1c20drohen Der naive Ansatz sinkt 2.333 Pixel aus demselben Bild. der Bildverteiler Läuft im Browser und gibt einen Zip zurück.

Was bedeutet das Teilen eines Bildes hier?

Schneiden Sie ein Bild in eine Reihe kleinerer, die es genau kacheln, ohne Überlappung und nichts übrig.

Zwei Möglichkeiten zu sagen, was Sie wollen. Gittermodus Nimmt eine Anzahl von Zeilen und Spalten, sodass ein 3 x 3 unabhängig von der Bildgröße neun Kacheln ergibt. Größenmodus Nimmt eine Kachelbreite und -höhe in Pixeln, und das Raster passt jedoch viele davon, wobei die rechte Spalte und die untere Reihe alles sind, was übrig bleibt.

Die dahinterliegenden Jobs sind spezifisch. Ein neunteiliges Instagram-Raster von einem Bild. Eine große Karte oder ein Poster in bedruckbare Blätter. Ein Sprite-Blatt, das in Rahmen zurückgeschnitten wird. Ein Panorama für einen Karussellposten. In jedem von ihnen landen die Stücke wieder nebeneinander, weshalb die Nähte wichtiger sind als alles andere über die Operation.

Warum teilt sich ein Gitter nicht gleichmäßig?

Denn Bildmaße sind die von der Kamera produzierte Kamera, und drei gehen selten hinein.

Pixel sind ganze Zahlen, so dass ein Schnitt entweder auf eine Pixelgrenze fällt oder es nicht existiert. Ein Bild, dessen Breite kein Vielfaches der Spaltenanzahl ist, hat einen Rest, der irgendwohin gehen muss, und die einzige Frage ist wo.

gemessen an der Reihenfolge, die der Splitter erzeugt:

Bildbreite einschneiden Fliesenbreiten Summe
1000 3 333, 334, 333 1000
1080 3 360, 360, 360 1080
1001 7 143 x 7 1001
4032 5 806, 807, 806, 807, 806 4032

Der Rest wird eher verteilt als abgeladen. Ein Bild mit 1000 Pixeln in drei Teilen ergibt 333, 334, 333, nicht 333, 333, 334, da jede Grenze als berechnet wird round(total * i / count) aus der gleichen Reihenfolge. Der Unterschied ist auf einem Bild unsichtbar und zählt in einem Raster, wobei ein zusätzlicher Pixel auf der letzten Kachel die letzte Spalte sichtbar breiter als der Rest macht.

Beachten Sie die dritte Zeile. 1001 geteilt durch 7 ist genau 143, und viele Abmessungen teilen sich sauber. Die Arithmetik zeigt sich nur, wenn sie es nicht tut.

Woher weißt du, dass aus den Nähten nichts verloren geht?

Durch Teilen eines Bildes und wieder zusammenfügen, dann vergleichen Sie die Pixel, anstatt sie anzusehen.

Ich habe ein 1001-by-667-Bild von deterministischem Rauschen generiert, so dass sich jedes Pixel von seinen Nachbarn unterscheidet und jede doppelte oder fallende Spalte für einen Hash offensichtlich ist. Dann habe ich es mit dem eigenen Plan in eine 3 x 3 aufgeteilt, jede Kachel extrahiert und jede an den Koordinaten wieder eingefügt, von denen sie stammt:

source        1001x667   raw md5 6fc1f790a418dc1ed3ee3d11747f1c20
reassembled   9 tiles    raw md5 6fc1f790a418dc1ed3ee3d11747f1c20

identisch. Nicht ähnlich, nicht visuell nicht zu unterscheiden: die gleichen Bytes. Kein Pixel ging verloren und keiner wurde dupliziert.

Die Fliesen, die es produziert haben, sind nicht alle gleich groß, worauf es ankommt:

334x222  333x222  334x222
334x223  333x223  334x223
334x222  333x222  334x222

Neun Kacheln, drei verschiedene Breiten und zwei verschiedene Höhen zwischen ihnen, die 667.667 Pixel abdecken, was genau 1001 mal 667 ist.

Jetzt die naive Version des gleichen Jobs. vertragen floor(1001 / 3) und floor(667 / 3), Verwenden Sie 333 x 222 für jede Kachel, und Sie decken 999 mal 666 ab. Ein Streifen zwei Pixel breit und ein Pixel hoch macht es nie zu einer Kachel. Das sind 2.333 Pixel, die lautlos verworfen werden, und auf einem Foto ist es der rechte Rand des Bildes.

Grid-Modus oder feste Kachelgröße?

Gitter, wenn die Anzahl der Stücke wichtig ist. Größe, wenn die Abmessungen jedes Stücks wichtig sind.

du willst Mode wieso
Neun Beiträge für ein Futtergitter Gitter, 3 x 3 Die Zählung ist die Anforderung
Ein Poster über A4-Blätter Größe Die Blattgröße ist die Voraussetzung
Ein Sprite-Blatt, das in Rahmen geschnitten wird Größe Die Rahmengröße ist fest und bekannt
Ein Panorama in ein Karussell Gitter, 1 Reihe Die Zählung ist die Karusselllänge

Die beiden Modi sind sich nicht einig über die Reste, und das ist der wirkliche Unterschied zwischen ihnen. Der Gittermodus verteilt den Rest, sodass jede Kachel innerhalb eines Pixels von jedem anderen liegt. Der Größenmodus gibt Ihnen genau die gewünschte Größe und legt den gesamten Rest in die letzte Zeile und Spalte.

Was passiert mit der letzten Zeile und Spalte im Größenmodus?

Sie kommen kleiner heraus, und das ist absichtlich.

Das Aufteilen eines Bildes von 1000 x 800 in 300 x 300 Kacheln ergibt ein Raster von 4 zu 3. Zwölf Kacheln, davon sechs nicht 300 mal 300:

r0c3  100x300    r1c3  100x300    r2c3  100x200
r2c0  300x200    r2c1  300x200    r2c2  300x200

Diese decken 800.000 Pixel ab, genau die Quelle. Die Alternative wäre, das Bild auf eine ganze Anzahl von Kacheln zu reduzieren, was bedeutet, dass ein 100-Pixel-Streifen rechts und ein 200-Pixel-Streifen am Boden leise weggeworfen werden. Ein Werkzeug, das dies tut, entscheidet für Sie, dass der Rand Ihres Bildes keine Rolle spielt.

Wenn Sie gleiche Kacheln wünschen, verwenden Sie den Grid-Modus. Wenn Sie Kacheln einer bestimmten Größe wünschen und das Bild nicht durch diese dividiert wird, sind die untergroßen Kantenstücke die ehrliche Antwort.

Warum werden die Dateien R01-C01 genannt?

Damit Ihnen ein Dateimanager nach Namen sortiert, erhalten Sie die Lesereihenfolge, die sonst nicht ausgeführt wird.

Sortieren ist alphabetisch, also tile-10 sortiert zwischen tile-1 und tile-2drohen Ein auf diese Weise aufgelistetes zwölfteiliges Gitter setzt sich in der falschen Reihenfolge wieder zusammen, und jeder, der aus den Dateinamen arbeitet, bringt Zeile zehn zu der Reihe zwei, die Zeile zwei gehört.

Die Zahlen werden auf die Breite des größten Index aufgefüllt, sodass die Polsterung nur dann angezeigt wird, wenn sie benötigt wird:

3 x 3 grid    shot-r3-c3.png
12 x 12 grid  My-Holiday-Photo-r01-c01.png ... My-Holiday-Photo-r12-c12.png

Der ursprüngliche Name wird beibehalten, mit Leerzeichen und allem, was kein Wortzeichen ist, in Bindestriche. Eine Datei, die von einem Telefon stammt, sagt Ihnen immer noch, was es war.

PNG oder JPG für die Kacheln?

PNG, es sei denn, die Kacheln sind Fotos und die Gesamtgröße ist ein Problem.

Das Aufteilen ist an sich schon verlustfrei: Die Pixel in einer Kachel sind die Pixel von der Quelle. Speichern als PNG bleibt es so, weil PNG ist ein verlustfreies Format. Das Speichern als JPG codiert jede Kachel neu, was auf einem bereits JPEG-Foto eine zweite Generation von Verlust bedeutet.

Es gibt einen bestimmten Grund für das Teilen, um PNG zu bevorzugen, über den üblichen hinaus. JPEG komprimiert sich in 8 mal 8 Blöcken, und seine Artefakte sind an den Kanten dieser Blöcke am stärksten. Jede Kachelgrenze ist eine neue Kante in einer neuen Datei, die ohne Kenntnis ihres Nachbarn codiert ist. JPEG-Kacheln können also eine schwache Diskontinuität genau entlang der Nähte zeigen, die Sie unsichtbar gemacht haben. PNG hat kein solches Verhalten.

JPG bei Qualität 0,92 schreibt das Tool, wenn Sie es auswählen, was eine vernünftige Einstellung ist und noch eine zweite Generation. Für neun Kacheln eines Fotos, die für ein soziales Feed zusteuern, das sie sowieso neu komprimiert, ist es ein verteidigerer Handel. Für alles, was gedruckt oder wieder zusammengebaut wird, PNG.

Wie viele Fliesen können Sie herstellen?

Vierhundert, das ist ein Raster von 20 mal 20, und die Grenze betrifft eher den Browser als die Arithmetik.

Jede Kachel wird zu ihrer eigenen Leinwand und zu einem eigenen codierten Blob, bevor etwas gezippt wird. Vierhundert Kacheln bedeuten vierhundert Leinwände und vierhundert Codierungen in einem Tab. Darüber hinaus beginnt die Codierung, die Seite zu blockieren, anstatt langsam zu beenden.

21 x 21 ->  That is 441 tiles. The limit is 400, which is a 20 by 20 grid.

Ein zweiter Scheck fängt das andere Ende ein. Sie können ein Bild nicht in mehr Teile als Pixel auf dieser Achse schneiden, daher wird die Nachfrage nach 80 Zeilen aus einem 50-Pixel-Bild mit der tatsächlichen Größe des Bildes abgelehnt, anstatt 30 Kacheln mit Nullhöhe zu erzeugen.

Wird ein neunteiliges Gitter auf Instagram aufgestellt?

Die Stücke werden richtig sein. Ob die Illusion funktioniert, ist eine separate Frage mit zwei Teilen.

Erstens die Form. Ein Feed-Gitter besteht aus quadratischen Zellen, sodass eine quadratische Quelle, die 3 von 3 aufgeteilt wird, quadratische Kacheln ergibt und alles übereinstimmt. Ein 4:3-Foto, das 3 von 3 aufgeteilt wird, gibt Kacheln mit 4:3 an, und der Feed wird jedes einzelne auf ein Quadrat schneiden, wodurch das Bild unterbrochen wird. Beschneiden oder füllen Sie die Quelle vor dem Teilen auf ein Quadrat, nicht danach.

Zweitens die Reihenfolge. Ein Feed füllt sich zuerst von oben links und bewegt sich nach rechts. Die gewünschte Kachel in der oberen linken Ecke muss also die letzte sein, die gepostet wurde. Die Buchungsreihenfolge ist die umgekehrte Reihenfolge der Lesereihenfolge: Beginnen Sie mit der unteren rechten Kachel und beenden Sie mit der oberen linken Seite. Posten in der Reihenfolge der Dateien nummeriert bringt das Bild auf den Kopf und wieder nach vorne.

Die Nähte sind auch nicht unsichtbar, da das Gitter einen kleinen Abstand zwischen den Miniaturansichten zieht. Der Effekt ist ein Bild, das durch einen Fensterrahmen und nicht durch ein kontinuierliches Bild gesehen wird. Dies ist das, was jeder Rasterbeitrag sieht und was die Leute erwarten.

Welche Größe sollten die Fliesen für den Druck über die Blätter haben?

Arbeiten Sie vom Papier und der Auflösung des Druckers rückwärts und erwarten Sie, dass die Summe größer ist als das Bild, das Sie haben.

A4 ist 210 mal 297 Millimeter. Bei 300 Punkten pro Zoll, was das übliche Ziel ist, wenn etwas genau betrachtet wird, das sind 2.480 mal 3.508 Pixel pro Blatt. Ein Poster über 3 mal 3 von A4 will daher eine Quelle von 7.440 mal 10.524 Pixel, was 78 Megapixel entspricht. Ein Foto von einem kürzlich durchgeführten Telefon ist ungefähr 12.

Die ehrliche Version dieses Jobs ist also normalerweise eine niedrigere Auflösung als 300 dpi oder weniger Blätter oder akzeptiert, dass der Druck weich ist. Bei 150 dpi benötigt das gleiche 3 x 3 3.720 mal 5.262, was für eine gute Kamera in Reichweite ist. Das Splitting kann nicht Details hinzufügen, sondern entscheidet nur, wo die Schnitte fallen.

Eine Sache, die Sie sich vor dem Drucken nicht nachtsen müssen. Verbraucherdrucker können nicht bis zum Rand des Blattes drucken, daher kommt jede Kachel mit einem weißen Rand an, und neun zusammengeklebte Blätter zeigen neun weiße Ränder durch das Bild. Die übliche Antwort ist, randlos zu drucken, wenn der Drucker es unterstützt, oder jedes Blatt an einer Kante zu schneiden und zu überlappen. Dieses Werkzeug schneidet genau, ohne Blutung und ohne Überlappung, daher muss die Überlappung von der Quelle stammen: Spalten Sie ein etwas größeres Gitter und akzeptieren Sie das Verlust eines Streifens oder fügen Sie die Blutung vor dem Aufteilen selbst hinzu.

Verliert das Teilen an Qualität?

Das Schneiden nicht. Die Ersparnis und die Größenänderung, die niemand erwähnt, tut es definitiv.

Jede Kachel wird vom Quellbild in eine Leinwand mit genau der Größe der Kachel, ein Quellpixel zu einem Zielpixel, ohne Skalierung gezeichnet. Das ist eine Kopie. Der obige Hash-Test ist der Beweis dafür.

Wo Qualität hingeht, ist der oben behandelte Encoder und eines außerhalb dieses Tools: Überall, wo Sie die Kacheln hochladen, wird die Größe wahrscheinlich geändert. Ein 360 x 360-Zeile, der in einem Feed mit 1080 mal 1080 gebucht wird, wird von der Plattform skaliert, und das Upscaling erfindet Pixel. Wenn die Kacheln für irgendwo mit bekannter Größe bestimmt sind, teilen Sie eine Quelle, die groß genug ist, dass jede Kachel mindestens diese Größe hat.

Warum kommt der Download als Zip?

Denn neun oder vierhundert Dateien sind nicht etwas, was ein Browser nacheinander ohne Kampf übergeben kann.

Eine Seite, die mehrere Downloads nacheinander auslöst, wird von den meisten Browsern nach der ersten blockiert. Dies ist ein sinnvoller Schutz gegen eine Seite, die zwanzig Dinge in Ihren Download-Ordner ablegen möchte. Gebäude a Reißverschluss Auf der Seite und dem Anbieten einer Datei ist die Umgehung der Fall, und es hält die Kacheln zusammen mit ihren Namen intakt, was für den Zusammenbau wichtig ist.

Das Archiv ist im Speicher eingebaut, was ein weiterer Grund für die vierhundert Kacheldecke ist: Auf dem Tab befinden sich das Quellbild, jede Kachel-Leinwand, jedes codierte Blob und das fertige Archiv.

Was Splitting nicht tut

Es schneidet ein Rechteck in ein Rechteckraster. Darin ist nichts anderes.

Keine Überlappung zwischen Kacheln, die einige Mapping-Workflows wünschen. Keine Entlüftung oder Schnittmarken für den Druck. Keine nicht rechteckigen Stücke. Kein automatisches Beschneiden auf ein Quadrat vor der Aufteilung. Kein Zusammenbau, der die entgegengesetzte Aufgabe ist und dazu gehört die Bildzusammenführung, abgedeckt in Seine Anleitungdrohen

Wenn Sie ein Puzzle, ein Mosaik oder Kacheln mit Überlappung möchten, ist dies nicht das Tool, und die Lücke ist vor dem Starten zu wissen, anstatt nach neun Dateien in Ihrem Download-Ordner.

Warum läuft das im Browser?

Weil das Schneiden eines Rechtecks aus einem Bild etwas ist Eine Leinwand tut nativ, und ein Server fügt nur eine Kopie Ihres Images auf die Festplatte eines anderen hinzu.

Das Bild wird in die Registerkarte dekodiert, jede Kachel wird in ihre eigene Leinwand gezeichnet, jede Leinwand wird mit codiert toBlob, und die Sammlung wird gezippt und zurückgegeben. Es wird nichts hochgeladen und nichts gespeichert.

Die Bilder, die Menschen aufteilen, sind nicht immer ein Urlaubsfoto für einen Feed. Es sind Grundrisse, gescannte Dokumente, medizinische Bilder, Screenshots von internen Systemen, Kunstwerke, bevor sie veröffentlicht werden. Für diese sendet die übliche Alternative das gesamte Bild an einen Dienst im Austausch für eine Operation, die Ihre eigene Maschine in Sekundenbruchteilen durchführt.

Comments

0 comments

0/2000 characters

No comments yet. Be the first to share your thoughts!