- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试在基于图层的结构中制作一个布料设计师应用程序,就像在 Photoshop 应用程序中一样。我正在使用带有 alpha channel 的图像,在它下面我放置了具有不同背景颜色的 div。结果,我希望改变图像的颜色。但是我不知道如何使用相同的颜色在该图像上放置另一层。当我尝试重复相同的技巧时,它会填充我想要透明的额外空间。换句话说,我只需要画一部分图像,留下另一部分透明。
我尝试使用 Canvas 填充图像的 rgb(255,0,255) 部分,但 Canvas 太慢了。
<div class="preview_under">
<div style="background: transparent url(images/main_template.png);" class="preview_middle">
<div class="preview_over">
<!-- override layers -->
<div class="layer" style="background: url(images/blue.jpg);" data-name="modern" data-section="pocket">
<img src="images/pocket_modern.jpg">
</div>
<!-- /override layers -->
</div>
</div>
<!-- color of the template -->
<div class="fill" style="background: url(images/blue.jpg);"></div>
</div>
问题的图形表示:
更新:谢谢大家!我使用 Canvas 解决了我的问题。
我试过 globalCompositeOperation属性(property),它工作得很好。演示是 here .
最佳答案
canvas 应该很快,也许慢与使用的算法有关。
但是,如果您尝试使用 Canvas ,则意味着您的目标是现代浏览器。所以 SVG 可能会起作用 :)
使用 SVG 更改颜色非常容易(请参阅 http://jsfiddle.net/diegof79/kkxP3/):
<svg width="100" height="100">
<circle id="pocket" cx="50" cy="50" r="40"
stroke="black" stroke-width="4" fill="yellow" />
</svg>
在 JavaScript 中:
document.getElementById('pocket').style.fill = 'red';
您可以将布料部分叠加在一层中,并使用类似 Inkscape 的工具绘制它们(另外,您可以使用可视化编辑器在 SVG 上设置背景图像,因此您无需手动进行叠加:))
其他可能的解决方案是:
有一组预定义的颜色,每个变体都有一个带有“ Sprite 图”的 PNG,因此您只需在每次颜色变化时更改背景偏移。 (好的:不需要任何特殊的东西,并且适用于所有浏览器;坏的:颜色变化是固定的,创建这些 Sprite 很耗时)。
使用 Canvas 更改图片(寻找慢速算法中的问题)。然后您可以使用 toDataURL
来缓存 Canvas 生成的图像。这样,当用户更改颜色时,您将使用缓存的图像(如果它已经存在)。 (好:你不需要手动编辑图片;坏:代码更复杂)
关于javascript - 布料设计师。层的着色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20583356/
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the he
使用 Qt 设计器,我在彼此中制作了几个 QFrame,每个都有一个水平布局。他们的样式表断言他们应该没有边距或填充。这意味着在 Qt Designers View 以及最终结果中,QFrames 之
Eclipse 是否有一个插件可以帮助设计像 Netbeans 中那样的 Swing GUI? WindowBuilder 过于简单和原始。例如: 它只允许我将组件放置在 5 个预定义区域之一 Net
Closed. This question does not meet Stack Overflow guidelines 。它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 Stack Ov
我想使用 Silverlight、WPF 或 WinForms 为自定义系统创建 UI 设计器。解决这个问题的最佳方法是什么? 我应该注意哪些命名空间、sdk 等? 最佳答案 我建议你检查一下shar
我想知道是否有 Primefaces eclipse 设计器已经发布或预计很快会发布,谢谢。 最佳答案 来自 PrimeFaces 负责人的回复 this和 this ,我认为现在没有 Primefa
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 2年前关闭。 Improve thi
我正在使用 Qt4 Designer 创建一个简单的 GUI。 我在 Dialog 中添加了一个 QTableWidget 。我的表中只需要一列,并且我希望此列将自身拉伸(stretch)到最大宽度。
我在使用 Qt4 时遇到了问题。 我的Qt Qt Creator 2.3.1 Based on Qt 4.7.4 (32 bit) 2 天前,我安装了 Qt designer 和 Opencv,它们运
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 3 年前。 Improve
我刚刚在一家初创公司找到了一份新工作,他们有一个设计工作室,可以在 Photoshop 中创建模型,然后将它们发送给我(我是用户体验设计师)。现在他们开始和我讨论定义每个 png 和 jpeg 以及所
我正在将 Visual Studio 2015 与 Xamarin.Android 结合使用。我的解决方案可以正常编译和链接,没有警告或错误。它在我的目标设备上正确运行。 但是,Intellisens
我正在使用 winforms、.net 3.5 Visual Studio 2008。代码正在编译,winforms 设计器突然停止显示表单,带有不同的消息,例如 “Resco.Drawing.Gra
我正在尝试在 BIRT 报告设计器中动态设置图像的高度,我希望这可以在元素的常规选项卡中实现。但我只能在 px、in、% 等中设置固定大小...例如,如果我将尺寸定义为 50%,则它是原始图像尺寸的
在编写css样式时减少浏览器兼容性问题的任何解决方案。 最佳答案 这三个是你需要自己做的要点: 编写正确的标记 - 确保它有效 确保您的标记处于标准模式 编写正确的 CSS - 确保它有效 此外,您可
我正在使用 Qt Designer,我想将几个顶级小部件移动到水平布局中。 我已将“水平布局”对象拖到表单中。我现在试图将所需的小部件拖到布局中。 不幸的是,新的水平布局小部件无限薄: ...而且
我很好奇在网站中使用哪个更好或更标准。我倾向于 Google Web Fonts,但我担心需要额外的 CSS 文件。 最佳答案 嗯,我会使用@font-face,只是因为我对谷歌字体有一些不好的体验。
我是一名优秀的程序员,十分优秀!