我想在我的網頁上放置一個紅色的長方形<div>
元素,以便它看起來不僅透明,而且還像在Photoshop的Multiply模式中混合使用。HTML5中可以使用photoshop混合模式嗎?
<div>
將有position: fixed
,所以它下面的內容會變化很快。
這有可能與任何HTML5/CSS3 /月/ SVG把戲?
我想在我的網頁上放置一個紅色的長方形<div>
元素,以便它看起來不僅透明,而且還像在Photoshop的Multiply模式中混合使用。HTML5中可以使用photoshop混合模式嗎?
<div>
將有position: fixed
,所以它下面的內容會變化很快。
這有可能與任何HTML5/CSS3 /月/ SVG把戲?
我已經創建了一個獨立的,輕量級的,開源的庫,用於執行從一個HTML畫布背景的Photoshop風格的混合模式到另一個:context-blender。這裏的示例用法:
// Might be an 'offscreen' canvas
var over = someCanvas.getContext('2d');
var under = anotherCanvas.getContext('2d');
over.blendOnto(under, 'screen', {destX:30,destY:15});
更多信息,請參見README,包括當前支持的混合模式。
您可以使用它來從一個帆布乘法執行到另一個,但不超過標準的HTML元素。
這不是HTML5,但它與我所能找到的相近。
Javascript blending modes(OpenGL的)。
我不認爲「混合模式」,如Photoshop可以只用純HTML效仿,除非語言參加了另一個方向的急轉彎。但看到一些更簡單的方法可以很好。
This is the closest I have seen,是的,所有資產都必須在畫布上。請注意,Internet Explorer在9版本中尚未支持畫布,因此如果您必須支持IE < 9,則必須使用解決方法。
是的Pixastic圖書館[http://www.pixastic.com]看起來很酷。感謝您的鏈接。 BTW,IE 9於3月份發佈,現在可能是一種選擇。 – 2011-06-29 04:03:11
我對這樣做也很感興趣。我爲視覺設計師編寫的許多佈局都可以使用它。除了此主題中的其他帖子,還有一種方法可以做到這一點,目前只有在Firefox 4中才能使用,而不使用OpenGl或Canvas。這是通過使用SVG過濾器。奇怪的是它也是來自Webkit和Chrome的nighties,但我看不到任何工作。
下面是一些演示和解釋:
恕我直言,一些anyware接近混合模式是太辛苦現在就實現。在feConvolveMatrix
,feSpecularLighting
或feColorMatrix
上很難找到任何參考資料,這些例子根本無法找到。他們可以工作,但我不知道如何。
div.sprite {
position: absolute;
z-index: 2;
composite: add;
}
這將是一個更好的方式方法。也許有些忍者在數學中可能會讓我們成爲一個能夠做到這一點的人。
編輯:有一個更簡單的SVG規範來完成混合模式。但沒有我測試過的瀏覽器有這個工作(FF4,IE9,Opera11,Webkit Nightly):http://dev.w3.org/SVG/modules/compositing/master/SVGCompositingPrimer.html - 但我也不知道這是否可以在HTML-DOM元素中使用。
你也可以看看這個演示:http://media.chikuyonok.ru/canvas-blending/看看如何用畫布做到這一點。
檢查混合模式公式的來源以及如何應用它們(公式比pixastic或上下文混合器更可讀)。
這是一個很棒的演示人!你做完了嗎?我可以在我自己的作品中使用代碼進行正常混合嗎?我試圖訪問根目錄來聯繫作者,但它投擲了404! – 2012-12-20 06:26:01
不,這不是我,這是由着名的俄羅斯前端人物Sergey Chikuyonok(Zen Coding背後的男人,順便說一句):)在[文章](http://chikuyonok.ru/2011/08/optimize- with-canvas /)他打電話給演示中的代碼,但是你可以通過[comments](http://chikuyonok.ru/2011/08/optimize-with-canvas/#comments)與他聯繫,或者看他的電子郵件頁面的頁腳。 – 2012-12-20 12:19:05
取決於所涉及的圖片,你是後效果確切,你也許可以做到圖像和CSS漸變的一些有創意的層次感,以達到預期的影響:
http://jonathonhill.net/2012-04-23/blending-css-gradients-like-photoshop/
我已經實現了使用帆布瘸子/ Photoshop中已知的最流行的混合模式在http://canvasquery.com/但它是不適合relatime。
這將在畫布
https://dvcs.w3.org/hg/FXTF/rawfile/tip/compositing/index.html#blendingseparable
它在Chrome金絲雀降落引進本地混合模式的改變,因此要達到釋放不久。 http://blogs.adobe.com/webplatform/2013/04/23/all-blend-modes-for-css-fragment-shaders-have-landed/
您可以使用它只是簡單的CSS(沒有畫布)。例如:
mix-blend-mode: 'multiply'
Internet Explorer可能不支持它,但是其他瀏覽器可以。
https://developer.mozilla.org/en-US/docs/Web/CSS/mix-blend-mode
它顯示在畫布上混合已存在的東西。但是,我想我無法將混合應用到BELOW畫布上,因爲這需要畫布捕獲窗口內容,但至少在Firefox中,這是不允許Web應用程序使用的。 – 2010-11-25 16:21:47