我注意到,当我在窗口隐藏时对窗口的视觉呈现进行更改时,当窗口显示时,更改不会立即可见。相反,窗口会短暂显示为上次可见时的状态,需要 0.5-1 秒的时间来显示更新后的表单。
这可能会令人困惑和丑陋,因为当我的窗口显示时,它默认没有选择任何项目,但如果在关闭时选择了项目,则在打开时看起来好像这些项目再次被选择,只会消失一秒钟后。
有什么方法可以强制 WPF 渲染窗口,即使它不可见,以便在显示时它处于正确的状态?
我需要捕获给定窗口HWND句柄的窗口屏幕并将捕获结果存储在ID2D1Bitmap对象中,以便通过渲染目标绘制此位图。
我怎样才能达到这个结果?
我目前正在使用 OpenXml 手动构建 Excel 文件。我正在添加工作表,但是遇到了一个问题。我有一个循环添加每个工作表的名称,但是一旦它运行并且我尝试打开该文件,我会收到以下消息:
“我们发现‘FileName.xlsx’中的某些内容存在问题。您希望我们尽力恢复吗?如果您信任此工作簿的来源,请单击“是”。”
我认为问题可能是由于我使用字符串变量添加了每个工作表的名称。当我把它拿出来并添加其他东西时,它就起作用了。下面是我的代码,我在其中循环并添加我的工作表。
//Technology Areas
foreach (DataRow dr in techAreaDS.Rows)
{
var data = dr["TechAreaName"].ToString().Split('-');
var techArea = data[2].TrimStart();
var techAreaSheet = new Sheet { Id = workbookPart.GetIdOfPart(worksheetPart),
SheetId = sheetId, Name = techArea };
sheets.Append(techAreaSheet);
sheetId++;
}
Run Code Online (Sandbox Code Playgroud)
我看到人们提到这是一个具有可以转换为字符串的字符串的单元格的问题,但在这种情况下,该字符串将始终是一个字符串。任何帮助,将不胜感激。
编辑:我已经解决了这个问题。问题是“名称”属性的最大长度为 31。我的其中一项的长度为 42,因此出现错误。我确实找到了一组很酷的代码来验证我的 OpenXml。 关联。
更新:奇怪的是,有人认为这个问题是关于寻找一些代码来帮助验证我正在做的事情。这不是......问题很清楚:为什么我在尝试命名工作表时收到错误。我并没有要求验证码,尽管我找到了一些。
我确实要求,如果您想提供帮助,请阅读问题而不是假设我在问什么,如果您不知道我希望回答什么,请询问...
如果我想绘制一个简单的红色矩形,我应该使用 anSKShapeNode还是 an SKSpriteNode?性能(渲染速度)有何差异?
是否有任何例外(例如应用透明度,或者创建physicsBody)?
我知道两者的主要目的是什么,但我不确定哪个在绘制简单的红色正方形方面性能更好。
// Shape
let myShape = SKShapeNode(rectOf: CGSize(width: 100, height: 100))
myShape.fillColor = .red
myShape.strokeColor = .clear
// Sprite
let mySprite = SKSpriteNode(color: .red, size: CGSize(width: 100, height: 100))
Run Code Online (Sandbox Code Playgroud)
我已经为此苦苦挣扎了一段时间,但我无法弄清楚是否可以为HDRP创建一个DepthMask着色器(如此处所述)。
对于我的确切用途,我试图在应用了材质的任何形状上创建一个“洞”,以显示在所有内容后面渲染的不同相机的内容。
我尝试摆弄着色器内的渲染队列、不同的 ZTest 和 ZWrite 组合,以及我发现的着色器的一些变体。最重要的是,我尝试摆弄我能想到的基本 HDRP 着色器的每个配置,这可能会有所作为。
我能得到的最接近的结果是使物体后面的透明材料消失。这确实意味着,如果我将所有不透明材质设置为透明,我会得到我想要的效果,但这并不理想,因为它破坏的东西比解决的东西多。理想情况下,我能够以某种方式在不透明材质上使用 HDRP 透明优先级系统,但我不确定这是否可行。
我不太确定下一步要尝试什么,任何帮助将不胜感激!
我使用创建了一个新的 Rails + React 应用程序rails new exampleapp --webpack=react。在我的主页上,我有一个 header html.erb,并且一些 React jsx 使用<%= javascript_pack_tag 'reactfilename' %>.
当我单击主页链接(例如 )时<li><%= link_to "Home", root_path %></li>,仅呈现标题。只有在我重新加载页面时才会显示我的反应组件。
我正在运行两者rails s并./bin/webpack-dev-server启动我的应用程序。我的 Heroku Web 服务器上也出现同样的问题。其中我有以下设置:
过程文件:
web: bin/rails server -p $PORT -b 0.0.0.0
过程文件.dev:
web: ./bin/rails server
webpacker: ./bin/webpack-dev-server
这是 React + Rails 应用程序的预期行为,还是我的配置有问题?
当 React 组件的状态或属性保持不变时,它就会被渲染。我不明白为什么它会重新渲染/更新,因为结果不会改变
class A extends Component {
render() {
console.log("Hello")
return "Foo";
}
}
class App extends Component {
constructor(props) {
super(props);
this.state = { a: "ASDA" };
}
render() {
return (
<div>
<button onClick={()=>this.setState({a: Math.random()}) }>asdsa</button>
<div>{this.state.a}</div>
<A />
</div>
);
}
Run Code Online (Sandbox Code Playgroud)
每当我单击按钮时,组件 A 就会重新渲染(我可以在控制台中看到“hello”),我认为 React 避免了许多无用的重新渲染。
我正在使用 Azure blob 存储来存储我的所有图像和视频。我已经实现了上传和获取功能,并且运行良好。我在加载视频时遇到 1 个问题,因为当我使用在 Azure blob 存储上上传该视频后生成的 url 时,它会先下载所有内容,然后再将其呈现给用户。因此,如果视频大小为 100 mb,它将下载所有 100 mb,直到用户将无法看到视频。
我做了很多研发,才知道在渲染视频时,我需要获取部分内容(状态 206)而不是一次获取整个视频。添加请求头“Range:bytes-500”后,我尝试点击博客网址,但它仍在下载整个内容。因此,我检查了一些开源视频 URL,并尝试点击视频 URL 和“Range”请求标头,它成功地给出了 206 响应状态,这意味着它正确地给了我部分内容而不是完整视频。
我读了一些论坛,他们说 Azure 存储支持部分内容概念,需要从属性中启用它。但是我已经检查了 Azure 存储帐户下的所有选项,但没有找到任何可以启用此功能的选项。
任何人都可以帮我解决这个问题,或者我需要启用 Azure 门户上的任何内容吗?这是我从一个星期以来一直在为此进行研发的事情。任何帮助将非常感激。
谢谢!注意安全。
rendering azure video-streaming azure-storage-blobs azure-blob-storage
目前,我正在使用生成 Julia 集和 Mandelbrot 集的脚本,然后使用 pygame 来渲染点。
本质上,屏幕被映射到一个较小的坐标系,其边界为 x 轴上的 -2.5, 2.5 和 y 轴上的 -1, 1。然后将此映射范围中的每个像素传递给一个函数,以检查其等价的复数是否在给定的集合中。此函数返回计算该数字是否在集合中(或最大迭代次数)所花费的迭代次数。
然后,对于每个像素,我知道根据此迭代分数为它着色什么颜色,并逐个渲染每个像素。这部分过程非常密集,需要大约 30 秒的时间来渲染,但根据场景的复杂程度,可能会更多。
这是用于确定传递的复数和复坐标是否在 Julia 集中的代码,在检查 1920 * 1080 像素时根本不需要很长时间计算:
max_iter = 45
def julia(z, c):
n = 0
while abs(z) <= 2 and n < max_iter:
z = z * z + c
n += 1
return n
Run Code Online (Sandbox Code Playgroud)
这是我用于pygame渲染的代码,这绝对是问题所在:
size_ = 1920, 1080
re_ = -2.5, 2.5
im_ = -1, 1
surf = pygame.Surface(size)
colour_gradient1 = [c, c1, c2, c3, ...] # …Run Code Online (Sandbox Code Playgroud) 我今天安装了 4.2,自从这个操作后,我看不到旧文件中创建的一些页面,它给了我这个错误:
渲染问题:
java.lang.reflect.InvocationTargetException
at jdk.internal.reflect.GeneratedMethodAccessor861.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at android.view.BridgeInflater.lambda$createViewFromCustomInflater$0(BridgeInflater.java:259)
at android.view.BridgeInflater.createViewFromCustomInflater(BridgeInflater.java:285)
at android.view.BridgeInflater.onCreateView(BridgeInflater.java:122)
at android.view.LayoutInflater.onCreateView(LayoutInflater.java:928)
at android.view.LayoutInflater.onCreateView(LayoutInflater.java:948)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:1002)
at android.view.BridgeInflater.createViewFromTag(BridgeInflater.java:309)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:959)
at android.view.LayoutInflater.rInflate_Original(LayoutInflater.java:1121)
at android.view.LayoutInflater_Delegate.rInflate(LayoutInflater_Delegate.java:72)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:1095)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:1082)
at android.view.LayoutInflater.inflate(LayoutInflater.java:680)
at android.view.LayoutInflater.inflate(LayoutInflater.java:499)
at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:354)
at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:431)
at com.android.tools.idea.layoutlib.LayoutLibrary.createSession(LayoutLibrary.java:141)
at com.android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.java:710)
at com.android.tools.idea.rendering.RenderTask.lambda$inflate$6(RenderTask.java:865)
at com.android.tools.idea.rendering.RenderExecutor$runAsyncActionWithTimeout$2.run(RenderExecutor.kt:174)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.base/java.lang.StringLatin1.charAt(StringLatin1.java:47)
at java.base/java.lang.String.charAt(String.java:693)
at android.content.res.BridgeTypedArray.getType(BridgeTypedArray.java:1024)
at android.content.res.BridgeTypedArray.getType(BridgeTypedArray.java:809)
at android.content.res.BridgeTypedArray.getValue(BridgeTypedArray.java:778)
at android.content.res.BridgeTypedArray.peekValue(BridgeTypedArray.java:847)
at android.view.View.<init>(View.java:5951) …Run Code Online (Sandbox Code Playgroud) rendering ×10
reactjs ×2
android ×1
azure ×1
bitmap ×1
c# ×1
c++ ×1
delay ×1
depth-buffer ×1
direct2d ×1
fractals ×1
ios ×1
javascript ×1
openxml ×1
openxml-sdk ×1
performance ×1
pipeline ×1
pygame ×1
python ×1
reload ×1
screenshot ×1
shader ×1
sprite-kit ×1
swift ×1
webpacker ×1
window ×1
wpf ×1
xlsx ×1