我已經發布了一些關於此問題的其他問題,現在已經放棄了我以前的引導程序框架,使用D3的固體svg條。使用D3來填充背景圖像的svg
我的目標是讓3個三角形掩蓋3張圖片,這些圖片只能在三角形內部點擊錨鏈接。 (理想情況下,我想爲懸停添加一個過渡到圈的效果,但我現在不擔心這一點)。
到目前爲止,我已經有了jsfiddle,但無法設法取消旋轉三角形內的圖像,或者使背景只是一個單一的圖像,而不是像現在這樣的封面。我也試過CSS background-image,但沒有成功。
這是我的d3.js代碼片段,下面是一個完整的jsfiddle。
var svg = d3.select(".mydiv").append("svg").attr("width",width).attr("height",height);
var defs= svg.append('defs')
defs.append('pattern')
.attr('id', 'pic1')
.attr('patternUnits', 'userSpaceOnUse')
.attr('width', 100)
.attr('height', 100)
.append('svg:image')
.attr('xlink:href', 'http://placehold.it/1749x1510')
.attr("width", 100)
.attr("height", 100)
.attr("x", 0)
.attr("y", -10);
svg.append("a")
.attr("xlink:href", "http://www.google.com")
.append('path')
.attr("overflow","hidden")
.attr("d", d3.svg.symbol().type("triangle-up").size(10000))
.attr("transform", function(d) { return "translate(" + 300 + "," + 200 + ") rotate(0)"; })
.attr("fill", "url(#pic1)");
http://jsfiddle.net/5Ldzk5w6/2/
謝謝你的任何時間或幫助,你可以給解決這些圖片!
如果您旋轉三角形,您還將旋轉填充。這是沒有辦法的。 – 2015-02-11 02:00:42
呃。爲什麼這很難?在我之前沒有人試圖用三角形來掩蓋圖像嗎?旋轉不是唯一的問題,圖像也奇怪地映射。 – Acoustic77 2015-02-11 07:44:31
我不確定你在期待什麼。你正在用一個(約)三角形高度一半的圖案填充一個三角形,並驚訝它重複?然後旋轉三角形,你驚訝於圖案旋轉? :) – 2015-02-11 11:03:36