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


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.