2012-06-20 2 views
5

Я пытаюсь создать обтравочную маску в VML, которая соответствует clip-path в SVG? Это возможно?vml обтравочная маска

Основываясь на многочисленных, но довольно ограниченным, примеры, которые я попробовал рисовать форму:

<vml:group style="WIDTH: 1px; HEIGHT: 1px" class=vml-element coordsize = "1,1"> 
    <vml:shape style="WIDTH: 1px; HEIGHT: 1px" id=vectorObject2 class=vml-element _fill-color="red" _fill-opacity="1" _stroke-color="black" _stroke-opacity="1" _stroke-width="1" coordsize = "1,1" filled = "t" fillcolor = "red" stroked = "t" strokecolor = "black" strokeweight = ".75pt" path = "m0,0 l100,0,0,100 xe"> 
     <vml:fill class=vml-element opacity = "1"></vml:fill> 
     <vml:stroke class=vml-element opacity = "1"></vml:stroke> 
    </vml:shape> 
</vml:group> 

, а затем маскировка его с помощью vmlframe:

<vml:vmlframe class=vml-element clip = "t" size = "15pt,37.5pt" src = "#vectorObject2"> </vml:vmlframe> 

Нанесение формы (треугольник) работы как и ожидалось, но я не могу найти способ маскировать его, используя vmlframe. Это правильный способ добиться маскировки?

Просьба игнорировать все связки странных пользовательских атрибутов, поскольку большинство кода VML было создано через стороннюю библиотеку.

Заранее благодарен!

+0

В теории должно быть возможно скопировать растровые изображения в соответствии с [этим документом W3C] (http://www.w3.org/Submission/1998/08/vmlreq): * «Трафарет и маскировка размещены, разрешив (который может быть привязан к пути заполнения). Можно расширить VML, чтобы обеспечить отсечение произвольного чертежа, указав этот чертеж как заполнение, которое должно быть обрезано до пути формы ». * Позор там, кажется, нигде нет примеров. – user568458

ответ

2

Используйте CSS clip property для эмулирования клипа, как показано на рисунке Dojo GFX library или что-то вроде jsgraphics.

+0

Это на самом деле точка. «Dojo» реализовал прямоугольную обтравочную маску, однако мне нужен пользовательский (например, путь/кривая) –

+0

Библиотека [jsgraphics] (http://www.walterzorn.de/en/jsgraphics/jsgraphics_e.htm) позволяет кросс-браузерные заливки и штрихи эллипсов и линий соответственно. Можно комбинировать это с абсолютным позиционированием и цветом, соответствующим цвету фона, чтобы имитировать обтравочную маску. –

+0

Ок, похоже, будет так близко, как я когда-либо доберусь. Баунти идет к тебе @ Паул! Спасибо :) –