Command Palette

Search for a command to run...

התפר הוא המקום שבו תמונה מפוצלת משתבשת

התפר הוא המקום שבו תמונה מפוצלת משתבשת

T
Toolz Team
|Oct 21, 2026|17 קריאה דקות
העדיפו את Toolz.dev בגוגל

חלק מאוסף כלי תמונה

Image Splitter

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

השתמש ב-Image Splitter

תמונה ברוחב 1001 פיקסלים חתוכה לשלושה אינה נותנת שלושה אריחים של 333. זה נותן 333, 334 ו-333, ואיזה אריח מקבל את הפיקסל הנוסף מחליט אם התמונה חוזרת יחד. הדרך הברורה לכתוב את זה, חלוקת הרוחב בספירה ושימוש בגודל זה עבור כל אריח, מוריד 2,333 פיקסלים מתמונת 1001 על 667 מבלי לדווח על דבר. האריחים נראים בסדר בפני עצמם. הנזק מופיע רק כשהם חוזרים זה ליד זה, כקו דק של הדבר הלא נכון במורד התפר, שברשת אינסטגרם של תשעה חלקים הוא המקום היחיד שכל מבקר מסתכל בו.

TL;DR: פיצול תמונה הוא החלטה אריתמטית אחת שחוזרת על עצמה: היכן כל חיתוך נופל כאשר התמונה אינה מתחלקת באופן שווה. מחשוב כל גבול מרצף מעוגל בודד הופך את הקצה השמאלי של אריח לקצה הימני של אריח N+1 לפי בנייה, כך שהחלקים מרכיבים מחדש בדיוק. מאומת על ידי hashing: תמונה בגודל 1001x667 מפוצלת לתשעה אריחים והדבקה פיקסלים גולמיים שהופקו עם אותו MD5 כמו המקור, 6fc1f790a418dc1ed3ee3d11747f1c20. הגישה הנאיבית יורדת 2,333 פיקסלים מאותה תמונה. כְּכ מפצל תמונות פועל בדפדפן ומחזיר zip.

מה המשמעות של פיצול תמונה כאן?

חיתוך תמונה אחת לסט של תמונות קטנות יותר שרצף אותה בדיוק, ללא חפיפה ולא נשאר כלום.

שתי דרכים לומר מה שאתה רוצה. מצב רשת לוקח מספר שורות ועמודות, כך ש-3 על 3 נותן תשעה אריחים לא משנה מה גודל התמונה. מצב גודל לוקח רוחב וגובה של אריחים בפיקסלים, והרשת היא עם זאת רבים מאלה, כאשר העמודה הימנית והשורה התחתונה הם כל מה שנשאר.

העבודות מאחוריו הן ספציפיות. רשת אינסטגרם בת תשעה חלקים מתמונה אחת. מפה או כרזה גדולים מפורקים לגיליונות להדפסה. גיליון ספרייט חתוך בחזרה למסגרות. פנורמה מחולקת לעמוד קרוסלה. בכל אחד מהם החלקים יגמרו שוב צמודים, וזו הסיבה שהתפרים חשובים יותר מכל דבר אחר בפעולה.

מדוע רשת לא מתחלקת באופן שווה?

כי ממדי תמונה הם מה שהמצלמה ייצרה, ושלושה רק לעתים רחוקות נכנסים אליהם.

פיקסלים הם מספרים שלמים, כך שחיתוך נופל על גבול פיקסל או שהוא לא קיים. לתמונה שהרוחב שלה אינו כפולה של ספירת העמודות יש שארית שחייבת ללכת לאנשהו, והשאלה היחידה היא היכן.

נמדד על הרצף שהמפצל מייצר:

רוחב תמונה לְהִתְ רוחבי אריחים סְכוּ
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

השאר מתפזר ולא נזרק. תמונה של 1000 פיקסלים בשלושה חלקים נותנת 333, 334, 333, לא 333, 333, 334, מכיוון שכל גבול מחושב כ round(total * i / count) מאותו רצף. ההבדל אינו נראה בתמונה אחת וחשוב ברשת, כאשר פיקסל נוסף על האריח הסופי הופך את העמודה האחרונה לרחבה יותר באופן גלוי מהשאר.

שימו לב לשורה השלישית. 1001 חלקי 7 הוא בדיוק 143, והרבה מידות אכן מתחלקות בצורה נקייה. החשבון מראה את עצמו רק כאשר הם לא.

איך אתה יודע ששום דבר לא אבוד בתפרים?

על ידי פיצול תמונה והרכבה בחזרה, ואז השוואת הפיקסלים במקום להסתכל עליהם.

יצרתי תמונה של 1001 על 667 של רעש דטרמיניסטי, כך שכל פיקסל שונה מהשכנים שלו וכל עמודה משוכפלת או שנפלה תהיה ברורה ל-hash. לאחר מכן חילקתי אותו ל-3 על 3 באמצעות התוכנית של הכלי, חילצתי כל אריח והדבקתי כל אחד מהם בקואורדינטות שמהן הגיע:

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

זהה. לא דומה, לא ניתן להבחין חזותית: אותם בתים. שום פיקסל לא אבד ואף אחד לא שוכפל.

האריחים שייצרו אותו אינם כולם באותו גודל, וזו הנקודה:

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

תשעה אריחים, שלושה רוחבים שונים ושני גבהים שונים ביניהם, המכסים 667,667 פיקסלים, שהם בדיוק 1001 כפול 667.

עכשיו הגרסה הנאיבית של אותה עבודה. לִנְ floor(1001 / 3) ו floor(667 / 3), השתמש ב-333 על 222 עבור כל אריח, ואתה מכסה את 999 על ידי 666. רצועה ברוחב שני פיקסלים וגובה פיקסל אחד אף פעם לא הופכת אותו לאריח כלשהו. כלומר 2,333 פיקסלים נזרקים בשקט, ובתמונה זה הקצה הימני של התמונה.

מצב רשת או גודל אריח קבוע?

רשת כאשר מספר החלקים חשוב. גודל כאשר המידות של כל חלק חשובות.

אתה רוצה מצב למה
תשעה פוסטים לרשת הזנה רשת, 3 x 3 הספירה היא הדרישה
פוסטר על פני גיליונות A4 גודל גודל הגיליון הוא הדרישה
גיליון ספרייט חתוך למסגרות גודל גודל המסגרת קבוע וידוע
פנורמה לתוך קרוסלה רשת, שורה אחת הספירה היא אורך הקרוסלה

שני האופנים לא מסכימים לגבי השאריות, וזה ההבדל האמיתי ביניהם. מצב רשת מפיץ את השאר, כך שכל אריח נמצא בתוך פיקסל אחד מכל אחד אחר. מצב גודל נותן לך בדיוק את הגודל שביקשת ומכניס את כל השאר בשורה ובעמודה האחרונים.

מה קורה לשורה ולעמודה האחרונה במצב גודל?

הם יוצאים קטנים יותר, וזה מכוון.

פיצול תמונה של 1000 על 800 ל-300 על 300 אריחים נותן רשת של 4 על 3. שנים עשר אריחים, מתוכם שישה אינם 300 על 300:

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

אלה מכסים 800,000 פיקסלים, בדיוק המקור. האלטרנטיבה תהיה לחתוך את התמונה למספר שלם של אריחים, מה שאומר לזרוק בשקט פס של 100 פיקסלים מימין ורצועה של 200 פיקסלים לאורך התחתית. כלי שעושה את זה מחליט בשבילך שקצה התמונה שלך לא משנה.

אם אתה רוצה אריחים שווים, השתמש במצב רשת. אם אתה רוצה אריחים בגודל נתון והתמונה לא מתחלקת בו, חלקי הקצה הנמוכים הם התשובה הכנה.

מדוע הקבצים נקראים r01-c01?

כך שמנהל קבצים מיון לפי שם נותן לך את סדר הקריאה, מה שהוא לא יעשה אחרת.

המיון הוא אלפביתי, אז tile-10 מיון בין tile-1 ו tile-2. רשת של 12 חלקים הרשומה כך מרכיבה מחדש בסדר שגוי, וכל מי שעובד משמות הקבצים מציב את שורה עשר למקום שבו שייכת שורה שניה.

המספרים מרופדים לרוחב האינדקס הגדול ביותר, כך שהריפוד מופיע רק כאשר יש צורך בו:

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

השם המקורי נשמר, עם רווחים וכל דבר שהוא לא תו מילה שהפך למקפים, אז קובץ שהגיע מטלפון עדיין אומר לך מה זה היה.

PNG או JPG עבור האריחים?

PNG אלא אם כן האריחים הם תצלומים והגודל הכולל הוא בעיה.

הפיצול הוא חסר הפסדים בפני עצמו: הפיקסלים באריח הם הפיקסלים מהמקור. חיסכון כ-PNG שומר את זה כך, כי PNG הוא פורמט ללא אובדן. שמירה כ-JPG מקודדת מחדש כל אריח, שבצילום שכבר היה JPEG פירושו דור שני של אובדן.

יש סיבה ספציפית לפיצול כדי להעדיף PNG, מעבר לרגיל. JPEG דוחס ב-8 על 8 בלוקים, וחפצי האמנות שלו הם החזקים ביותר בקצוות של אותם בלוקים. כל גבול אריחים הוא קצה חדש בקובץ חדש, המקודד ללא ידע על שכנו, כך ש-JPEG Tiles יכולים להראות אי רציפות קלה בדיוק לאורך התפרים שניסית להפוך לבלתי נראים. ל-PNG אין התנהגות כזו.

JPG באיכות 0.92 הוא מה שהכלי כותב כשאתה בוחר אותו, שזו הגדרה סבירה ועדיין דור שני. עבור תשעה אריחים של תצלום לקראת פיד חברתי שידחק אותם מחדש בכל מקרה, זה מסחר בר הגנה. עבור כל דבר שמודפס או מורכב מחדש, PNG.

כמה אריחים אתה יכול לעשות?

ארבע מאות, שזה רשת של 20 על 20, והמגבלה היא על הדפדפן ולא על החשבון.

כל אריח הופך לקנבס משלו ולכתם המקודד שלו לפני שמשהו נרכסן, כך שארבע מאות אריחים פירושם ארבע מאות קנבסים וארבע מאות קידודים בלשונית אחת. מעבר לכך, הקידוד מתחיל לעכב את הדף במקום לסיים לאט.

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

צ'ק שני תופס את הקצה השני. אתה לא יכול לחתוך תמונה ליותר חלקים מאשר יש לה פיקסלים לאורך הציר הזה, אז לבקש 80 שורות מתמונה בגובה 50 פיקסלים נדחת עם הגודל האמיתי של התמונה, במקום לייצר 30 אריחים בגובה אפס.

האם רשת של תשעה חלקים תעמוד באינסטגרם?

החלקים יהיו נכונים. האם האשליה עובדת היא שאלה נפרדת עם שני חלקים לה.

ראשית, הצורה. רשת הזנה היא תאים מרובעים, כך שמקור מרובע מפוצל 3 על 3 נותן אריחים מרובעים והכל תואם. תצלום 4:3 מפוצל 3 על 3 נותן אריחים בגודל 4:3, וההזנה תחתוך כל אחד לריבוע באופן עצמאי, מה ששובר את התמונה. חתוך או רפד את המקור לריבוע לפני הפיצול, לא לאחר מכן.

שנית, הסדר. הזנה ממלאת את החדש ביותר תחילה, משמאל למעלה, נעה ימינה. אז האריח שאתה רוצה בפינה השמאלית העליונה חייב להיות האחרון שפורסם. סדר הפרסום הוא ההפך מסדר הקריאה: התחל עם האריח הימני התחתון וסיים עם השמאל העליון. פרסום אותם לפי סדר הקבצים ממוספרים שם את התמונה הפוך וחזרה לפנים.

גם התפרים לא יהיו בלתי נראים, כי הרשת שואבת פער קטן בין תמונות ממוזערות. האפקט הוא תמונה הנראית דרך מסגרת חלון ולא תמונה רציפה, וכך נראה כל פוסט רשת ומה אנשים מצפים.

איזה גודל צריך להיות האריחים להדפסה על פני גיליונות?

עבדו אחורה מהנייר וברזולוציית המדפסת, וצפו שהסכום יהיה גדול יותר מהתמונה שיש לכם.

A4 הוא 210 על 297 מילימטרים. ב-300 נקודות לאינץ', שזה היעד הרגיל למשהו שמסתכלים עליו מקרוב, כלומר 2,480 על 3,508 פיקסלים לגיליון. פוסטר על פני 3 על 3 של A4 רוצה אפוא מקור של 7,440 על 10,524 פיקסלים, שהם 78 מגה פיקסל. תמונה מטלפון אחרון היא בערך 12.

אז הגרסה הכנה של עבודה זו היא בדרך כלל ברזולוציה נמוכה יותר מ-300 dpi, או פחות גיליונות, או לקבל שההדפסה תהיה רכה. ב-150 dpi אותו 3 על 3 צריך 3,720 על 5,262, שזה בהישג יד של מצלמה טובה. פיצול לא יכול להוסיף פרטים; הוא מחליט רק היכן נופלים החתכים.

דבר אחד להסדיר לפני שאתה מדפיס ולא אחרי. מדפסות צרכניות אינן יכולות להדפיס לקצה הגיליון, כך שכל אריח מגיע עם שוליים לבנים, ותשעה גיליונות מודבקים יחד מציגים תשעה גבולות לבנים דרך התמונה. התשובה הרגילה היא להדפיס ללא גבולות אם המדפסת תומכת בה, או לקצץ כל גיליון לאורך קצה אחד ולחפוף אותם. הכלי הזה חותך בדיוק, ללא דימום וללא חפיפה, כך שהחפיפה צריכה להגיע מהמקור: לפצל רשת קצת יותר גדולה ולקבל אובדן רצועה, או להוסיף את הדימום בעצמך לפני הפיצול.

האם הפיצול מאבד איכות?

החיתוך לא. החיסכון עשוי, והשינוי שאיש לא מזכיר בהחלט כן.

כל אריח נמשך מתמונת המקור לתוך קנבס בגודל של בדיוק האריח, פיקסל מקור אחד לפיקסל יעד אחד, ללא קנה מידה מעורב. זה עותק. מבחן ה-hash למעלה הוא ההוכחה לכך.

לאן האיכות הולכת הוא המקודד, המכוסה למעלה, ודבר אחד מחוץ לכלי הזה לגמרי: בכל מקום שתעלה, האריחים כנראה ישנו אותם. אריח של 360 על 360 שהוצב בפיד שרוצה 1080 על 1080 יוגדל על ידי הפלטפורמה, והגדלת הקנה מידה ממציאה פיקסלים. אם האריחים מיועדים למקום עם גודל ידוע, פצל מקור גדול מספיק כדי שכל אריח יהיה לפחות בגודל כזה.

למה ההורדה מגיעה כ-zip?

מכיוון שתשעה קבצים, או ארבע מאות, הם לא משהו שדפדפן יכול להעביר אחד בכל פעם ללא קרב.

דף שמפעיל מספר הורדות ברצף נחסם על ידי רוב הדפדפנים לאחר הראשון, שהוא הגנה הגיונית מפני דף שרוצה לשים עשרים דברים בתיקיית ההורדות שלך. בניין א לִרְ בעמוד והצעת קובץ אחד הוא הדרך סביבו, והוא גם שומר על האריחים יחד עם שמותיהם שלמים, שהוא החלק שחשוב להרכבה מחדש.

הארכיון בנוי בזיכרון, וזו סיבה נוספת לתקרת ארבע מאות האריחים: הלשונית מחזיקה את תמונת המקור, כל הבד של אריח, כל כתם מקודד ואת הארכיון המוגמר בו זמנית.

מה פיצול לא עושה

הוא חותך מלבן לרשת של מלבנים. אין בו שום דבר אחר.

אין חפיפה בין אריחים, שכמה זרימות עבודה מיפוי רוצות. אין דימום או סימני חיתוך להדפסה. ללא חתיכות לא מלבניות. אין חיתוך אוטומטי לריבוע לפני הפיצול. אין הרכבה מחדש, שהיא העבודה ההפוכה ושייכת אליה מיזוג התמונה, מכוסה ב המדריך שלו.

אם אתה רוצה פאזל, פסיפס או אריחים עם חפיפה, זה לא הכלי הזה, וכדאי לדעת את הפער לפני שמתחילים ולא אחרי שתשעה קבצים נוחתים בתיקיית ההורדות שלך.

למה זה פועל בדפדפן?

כי לחתוך מלבן מתמונה זה משהו קנבס עושה זאת באופן מקורי, ושרת לא מוסיף דבר מלבד עותק של התמונה שלך בדיסק של מישהו אחר.

התמונה מפוענחת ללשונית, כל אריח נמשך לתוך הקנבס שלו, כל קנבס מקודד עם toBlob, והקולקציה מכווצת ומוחזרת. שום דבר לא מועלה ושום דבר לא מאוחסן.

התמונות שאנשים מחלקים הן לא תמיד תמונת חג לעדכון. הם תוכניות קומה, מסמכים סרוקים, תמונות רפואיות, צילומי מסך של מערכות פנימיות, יצירות אמנות לפני פרסום. עבור אלה, החלופה הרגילה שולחת את כל התמונה לשירות בתמורה לפעולה שהמכונה שלך מבצעת בשבריר שנייה.

Comments

0 comments

0/2000 characters

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