假设我有一个canvas
元素,我需要将画布上的图像转换为PNG或JPEG.当然,我可以简单地使用canvas.toDataURL
,但问题是,我需要这个做了二十次一秒钟,canvas.toDataURL
是极其缓慢 -缓慢,在拍摄过程中错过帧,因为浏览器是忙于转换成PNG.
我的想法是调用context.getImageData(...)
,显然更快,并将返回CanvasPixelArray
发送给Web Worker,然后Web Worker将原始图像数据处理为PNG或JPEG.问题是我无法canvas.toDataURL
从Web Worker中访问本机,因此我需要使用纯JavaScript.我尝试搜索用于Node.js的库,但这些库是用C++编写的.纯JavaScript中是否有任何库可以将原始图像数据呈现为PNG或JPEG?
即使是新的HTML5标签也不足以描述结构而不会回退到div
s.什么阻止我改变:
<div class="post">
<div class="userinfo">
<span class="name">Casey</span>
<img class="avatar" src="..." />
</div>
<div class="body">
<p>blah blah blah</p>
<p>blah blah blah</p>
<p>blah blah blah</p>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
变成这样的东西:
<post>
<userinfo>
<name>Casey</name>
<img class="avatar" src="..." />
</userinfo>
<pbody>
<p>blah blah blah</p>
<p>blah blah blah</p>
<p>blah blah blah</p>
</pbody>
</post>
Run Code Online (Sandbox Code Playgroud)
对我来说,第二个例子更清洁.是否有任何东西(即浏览器支持)阻止我这样做?
(我知道它本质上是什么,实际上是XML,但在这种情况下,问题就变成了,"浏览器支持对于呈现XML网页是什么样的?")
tl; dr:如何以干净的方式在JavaScript中实现MVC?
我正在尝试用JavaScript实现MVC.我用无数次搜索和重新组织我的代码,但没有找到合适的解决方案.(代码不"感觉正确".)
这就是我现在正在做的事情.它非常复杂并且很难处理(但仍然比我以前的代码堆更好).它有一些丑陋的变通方法,有点破坏了MVC的目的.
不管怎么说,如果你真的很勇敢的话:
// Create a "main model"
var main = Model0();
function Model0() {
// Create an associated view and store its methods in "view"
var view = View0();
// Create a submodel and pass it a function
// that will "subviewify" the submodel's view
var model1 = Model1(function (subview) {
view.subviewify(subview);
});
// Return model methods that can be used by
// the controller (the onchange handlers)
return {
'updateModel1': function (newValue) {
model1.update(newValue);
}
}; …
Run Code Online (Sandbox Code Playgroud) 比方说,我想匹配下列字符中的一个:a
,b
,c
,或+
(在JavaScript).我需要逃脱+
吗?难道/[abc+]/
还是/[abc\+]/
?两者都适用于我有限的测试浏览器.哪个(更)正确?
我正在寻找一种用PHP表示家谱的方法.这意味着孩子需要从两个(或更多)父母那里继承.
以下是要求:
这是我的非工作尝试(遗憾的是没有数组作为键):
$tree = array(
'uncle' => false, // no children
array('mom', 'dad') => array(
'me' => false,
array('brother', 'sister-in-law') => array(
'niece' => false
)
)
);
Run Code Online (Sandbox Code Playgroud)
问题是,我如何用这些要求代表一个家谱?
例如,我需要能够绕过未知类型
foreach (var test in viewData["foobar"])
{
}
Run Code Online (Sandbox Code Playgroud)
有什么建议么
javascript ×3
c# ×1
canvas ×1
family-tree ×1
foreach ×1
html ×1
html5-canvas ×1
php ×1
regex ×1
standards ×1
web-worker ×1
xml ×1