我目前正在为网站制作一个简单的3D全景查看器.出于移动性能原因,我正在使用three.js CSS3渲染器.这需要一个立方体贴图,分成6个单个图像.
我正在使用Google Photosphere应用程序在iPhone上录制图像,或者创建2:1 equirectangular全景图像的类似应用程序.然后,我使用以下网站调整大小并将其转换为立方体贴图:http://gonchar.me/panorama/(Flash)
我希望自己做转换,无论是在three.js中,如果可能的话,还是在Photoshop中.我发现了Andrew Hazelden的Photoshop动作,它们似乎很接近,但没有直接转换.是否有一种数学方法来转换这些,或某种类型的脚本?如果可能的话,我想避免像Blender这样的3D应用程序.
也许这是一个很长的镜头,但我想我会问.我对javascript有好的经验,但我很新three.js.我也对依赖WebGL功能犹豫不决,因为它似乎在移动设备上很慢或有问题.支持也仍然参差不齐.
我一直试图弄清楚是否有可能嵌套CSS特征查询(也称为"CSS @supports")和常规媒体查询,以及这样做的正确方法.
示例A显示了媒体查询中的功能查询.
示例B显示了要素查询中的媒体查询.
它甚至可以嵌套它们吗?如果是这样,是否有一种首选的嵌套方式?A还是B?
.foo {
background: red;
}
/* EXAMPLE A */
@media (min-width: 50em) {
.foo {
background: green;
}
@supports (flex-wrap: wrap) {
.foo {
background: blue;
}
}
}
/* EXAMPLE B */
@supports (flex-wrap: wrap) {
.foo {
background: green;
}
@media (min-width: 50em) {
.foo {
background: blue;
}
}
}
Run Code Online (Sandbox Code Playgroud) 我一直在研究iOS阅读器应用程序,用于德国铁路(德国铁路)使用的特殊条形码.它是Aztec条形码的变体,用于连接DSA签名字符串和zlib缩减的有效负载.
我被困住了,当我得知AVMetadataMachineReadableCodeObject没有公共方法来读取条形码中包含的原始字节时,字符串方法总是使zlib压缩数据乱码.
幸运的是,这个答案让我朝着正确的方向前进.可以使用KVO访问(私有)字节,因为我目前不希望在App Store上分发应用程序,这是完美的.
尽管我几乎不存在Swift和Objective-C知识,我设法让这个工作,你可以在示例代码中看到.但是条形码中存储的字节NSData与预期结果不符!我怀疑我使用的zlib库(DeflateSwift)无法正常工作,所以我构建了一个测试用例,工作正常.
我的问题是:我做错了什么?我是否需要进一步处理原始字节以获得预期结果(见下文)?如何生究竟是存储在字节AVMetadataMachineReadableCodeObject?谁能指出我正确的方向?任何帮助表示赞赏.
这是我的代码(这是一个悲伤的mashup Swift和Objective-C)
if let metadataObject = metadataObjects.first {
let readableObject = metadataObject as! AVMetadataMachineReadableCodeObject;
let rawReadableObject = readableObject.valueForKeyPath("_internal.basicDescriptor")!["BarcodeRawData"] as? NSData;
if let rawBytes = rawReadableObject {
let barcodeData = rawBytes; // or use testData instead
let barcodeSplit:Int = 68;
let barcodeLength:Int = barcodeData.length;
let barcodeHeader:NSData = barcodeData.subdataWithRange(NSRange(location: 0, length: barcodeSplit))
let barcodeZlibContent:NSData = barcodeData.subdataWithRange(NSRange(location: barcodeSplit, …Run Code Online (Sandbox Code Playgroud) 我正在尝试解码目前德国铁路(德国铁路)发行的机票上使用的条形码格式的数据.我发现这个非常有用的网站(德语)已经做了类似的事情,并提供了一个python脚本.
该网站声明数据被压缩zlib,生成的blob用DSA签名,所有这些都存储在条形码(Aztec格式)中.
这种条形码的示例
我已经使用网站上提供的脚本成功解码了一张票.安装了python-pyasn1库.阅读条形码(根据说明使用BCTester,NeoReader应用程序遇到一些问题)并将结果转换为十六进制.将十六进制数据保存为纯文本文件(由于脚本所需的某些原因)并使用脚本解析文件.有效.
但剧本做得太多了.我想自己做解析,但我不能让zlib解压缩工作,我理解很少的代码来理解它.我几乎不知道Python.不过,我有一些编程经验.
如果您只是查看条形码中的数据,它看起来像这样:https: //gist.github.com/oelna/096787dc18596aaa4f5f
第一个问题是: 什么是DSA签名,我是否需要先从实际压缩数据中分离出来?
第二个: 一个简单的python脚本看起来像是从文件读取条形码blob并简单地解压缩它,所以我可以进一步解析格式.我有一些想法
#!/usr/bin python
import zlib
ticket = open('ticketdata.txt').read()
print zlib.decompress(ticket)
Run Code Online (Sandbox Code Playgroud)
但它不起作用.任何暗示正确的方向将不胜感激.
如果保存到文件,以下是脚本可读的十六进制数据:
23 55 54 30 31 30 30 38 30 30 30 30 30 31 30 2c 02 14 1c 3d e9 2d cd 5e c4 c0 56 bd ae 61 3e 54 ad a1 b3 26 33 d2 02 14 40 75 03 d0 cf 9c …Run Code Online (Sandbox Code Playgroud) 我一直在尝试寻找在浏览器中生成 UUID 的 Javascript 解决方案。我发现生成遵循版本 4 标准的 UUID。
例子:
function uuidv4() {
return ([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g, c =>
(c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16)
);
}
console.log(uuidv4());
Run Code Online (Sandbox Code Playgroud)
甚至
let uuid = self.crypto.randomUUID();
console.log(uuid);
Run Code Online (Sandbox Code Playgroud)
其他版本是否因为使用 MAC 地址而无法在浏览器中生成(并且由于隐私问题而在 JS 中无法访问这些版本)?
据我了解,V6主要是 UUIDv1 并进行了一些重新排序(Draft),因此也不可能使用。但V7和V8呢?是否存在阻止在线(客户端)使用的方面?或者可以修改 V4 代码来生成这些内容吗?
我在解决这个简单的数学问题时遇到了麻烦。我花了两个多小时阅读 SO 和 Google 上的各种相关答案,但似乎我的高中数学知识已经消失了。
在页面上我有一个元素,一旦它通过阈值,就会缩小,它越接近包含元素的边缘。现在,它以线性方式扩展。我计算到容器边缘的距离,将其与阈值(比例为 100%)进行比较,并从中计算一个百分比,用于实际缩放元素(通过 CSS 转换)。
我想要的是,缩放在前 60-80% 时缓慢开始,然后显着增加。
对我来说,我似乎需要某种反指数或对数函数来做到这一点,但我无法确切地弄清楚如何实现这一点。理想情况下,该函数将返回0.0forx = threshold和1.0for x = 0(其中 x 将是元素的当前位置/百分比)。
任何帮助表示赞赏。我认为这可能是微不足道的,但我无法理解它。
我正在尝试定义我的数据库结构,但我不知道如何将列的默认值设置为NULL。这就是我想要它产生的结果:
CREATE TABLE test (
content text DEFAULT(NULL),
);
Run Code Online (Sandbox Code Playgroud)
我有以下代码
let content = Expression<String?>("content")
try self.db.run(test.create { t in
t.column(content, defaultValue: nil)
})
Run Code Online (Sandbox Code Playgroud)
但defaultValue: nil显然不行。我应该设置什么?
我试图让使用自定义帖子类型处理产品的Wordpress插件/主题的用户创建一个块,以显示这些自定义帖子之一的摘要。我正在尝试通过在官方教程的基础上在插件中创建一个自定义块来实现这一目标。我想在古腾堡(Gutenberg)后端上简单地显示一个带有所有自定义帖子作为选项的选择框,但是我愿意接受建议。
我试图阅读我可以传递给该块的javascript文件中的getEntityRecords函数的内容,但是文档似乎确实很少。如果有人能指出正确的方向,我将非常感激。我也尝试设置'taxonomy'而不是'postType',但也没有用。没有好的API文档,可能的选项和参数很难猜测。
这是我的代码(的一部分)。我想知道第getEntityRecords3行的可能参数。
edit: withSelect( function( select ) {
// setting postType to 'product' does not work for me here
var pages = select('core').getEntityRecords('postType', 'page', { per_page: 10 });
return {
posts: pages
};
} )( function( props ) {
if ( ! props.posts ) {
return "Loading...";
}
if ( props.posts.length === 0 ) {
return "No posts";
}
var className = props.className;
var post = props.posts[ 0 ]; …Run Code Online (Sandbox Code Playgroud) javascript php wordpress wordpress-gutenberg gutenberg-blocks