Як одночасно поставити один об'єкт як перед, так і ззаду іншого?


37

Я намагався (як тест) зробити коло з бруском, що проходить через нього. Стрижка повинна проходити під однією стороною кола та над іншою.

Я зробив це, розділивши коло на два об’єкти, однак є видимі шви, де було зроблено розкол, хоча шляхи точно збігаються.

введіть тут опис зображення

Крім того, тінь під лівою частиною кола не йде вгорі смуги, як це потрібно, і я не можу придумати жодного способу виправити це, не розділяючи також об'єкт тіні.

Чи є кращий спосіб зробити це?


Якщо потрібно, я можу також завантажити svg .


2
Ви намагалися розділити планку? Також переконайтеся, що ви не маєте дрібного масштабу, оскільки вони іноді впливають на надання ліній та стикових ліній.
— Джонні Кутновський

Яке програмне забезпечення ви використовуєте? Ілюстратор?
— Генрік Екблом

1
Змішане накладення об'єкта в Inkscape заборонено, але ви можете продовжити декількома способами. Найшвидше, мабуть, вирізане коло, де вкрите бруском (зріз прямий). По черзі можна точніше переміщати точки стику (шви не повинні бути видні: напевно, проблема полягала в тому, як ви вирізали коло).
— Paolo Gibellini

2
PS Вирівнювання країв, здається, є проблемою Inkscape (дивіться тут , тут і тут ). А також дивіться також поширені запитання Inkscape про антиалізинг : прив’яжіть горизонтальні / вертикальні краї до піксельної сітки та використовуйте обведення цілої кількості пікселів у ширину. Експортуйте растрову карту зі швидкістю 90 точок на дюйм, щоб 1 піксельна одиниця відповідала 1 растровому пікселю
— Paolo Gibellini

@JohnnyKutnowski Це змінюється зі збільшенням, іноді розкол майже проходить. Однак це дуже добре видно при масштабі 1: 1.
— gandalf3

Відповіді:


42

Розрив, який ви бачите, пов’язаний із недосконалим відображенням Inkscape, а не обов'язково є проблемою залежно від способу експорту або використання SVG (якщо ви точно вирізаєте). Однак тіні, швидше за все, спричинить проблеми під час вирізання (це єдиний спосіб, який я можу придумати, щоб зробити їх правильними).

Ось моє рішення цього питання. Як приклад, я вирізав звичайний брусок, тому що це простіше. Але вирізання зовнішніх кіл має певну перевагу, про яку я згадаю пізніше. Спочатку зображення:

Деякі методи накладання

Ліва використовує прозорі об’єкти (один синій, один червоний) для демонстрації, права показує результат.

  • Вгорі я відтворив те, що ти робив, і просто вирізав мою планку. Це призводить до вищезазначеного розриву на деяких масштабах або експорту пікселів (це може траплятися і в деяких PDF-рендерерах або подібних).
  • В середині я дозволяю перекрити дві половини бруска, що дозволяє уникнути зазору, але дозволяє смузі здаватися трохи товщі навколо розрізу (можливо, вам доведеться збільшити масштаб, щоб побачити це).
  • Внизу я використав те, що рекомендую зробити¹. Найбільше перекриття - половина ширини бруска. Я не зміг знайти жодного рівня збільшення чи експорту, для якого це призвело до небажаного ефекту згладжування (тобто розрив або потовщена смуга).

Тепер давайте подивимося на тіні:

введіть тут опис зображення

Порядок такий же, як вище. Праворуч у нас є тіні для наочності.

  • Тінь для простого крою виглядає нормально, але ми можемо бачити, що він дещо слабший у положенні різання. Це стає більшою проблемою для нечітких тіней.
  • В середині у нас є значна проблема.
  • Внизу ми можемо визначити положення зрізу, але тінь не є ні слабкішою, ні сильнішою, просто розподілена по-різному. Зокрема, не стає гірше, якщо тінь стає нечіткішою. Розріз стає ще менш помітним, якщо він не відбувається на прямому відрізку, саме тому вам може бути вигідніше краще вирізати кола замість середньої смуги.

¹ Ви можете досягти цього наступним чином:

  1. Зробіть надріз як звичайний.
  2. Додайте вузол посередині кожного зрізаного краю.
  3. Перемістіть кожен вузол назовні на одну чверть ширини² все, що ви вирізали.

² Для цього значення я емпірично визнав, що спотворення тіні є найнижчим.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.