function whatever(object, methodName, args) {
return object[methodName](...args);
}
Run Code Online (Sandbox Code Playgroud)
可以输入以上内容,以便强制执行以下操作:
methodName
是关键object
.object[methodName]
是可调用的,它的args是...args
.whatever(object, methodName, args)
是返回类型object[methodName](...args)
.我能找到的最接近的是定义function.apply
,但它与上面的不完全相同.
我应该如何构建一个包含主线程(DOM)脚本和工作程序的项目?例如:
// This file must have DOM types, but not worker types.
const worker = new Worker('worker.js');
worker.onmessage = (event) => {
// Ideally, I should be able to reference types from the worker:
const data = event.data as import('./worker').HelloMessage;
console.log(data.hello);
};
Run Code Online (Sandbox Code Playgroud)
// This file must have worker types, but not DOM types.
// The global object must be one of the worker globals (how do I pick which?)
const helloMessage = {
hello: 'world',
};
export type …
Run Code Online (Sandbox Code Playgroud) 我正在尝试从剪贴板保存复制的图像,但它正在丢失其alpha通道:
Image clipboardImage = Clipboard.GetImage();
string imagePath = Path.GetTempFileName();
clipboardImage.Save(imagePath);
Run Code Online (Sandbox Code Playgroud)
如果我从PhotoShop或IE/Firefox/Chrome复制32位图像并运行上面的代码,则输出会丢失其Alpha通道,而是在黑色背景下保存.
图像保存为PNG,可以包含Alpha通道.
正确的数据似乎在剪贴板中,因为粘贴到其他应用程序(例如PhotoShop)会保留alpha通道.
任何人都可以让我摆脱痛苦吗?
提前致谢!
更新:
// outputs FALSE
Debug.WriteLine(Image.IsAlphaPixelFormat(Clipboard.GetImage().PixelFormat));
Run Code Online (Sandbox Code Playgroud)
以上表明,一旦从剪贴板中取出,alpha数据就会丢失.也许我需要以其他方式将其从剪贴板中删除?