我有以下代码:
void Test()
{
currentImage.Source = GetBitmap();
RenderTargetBitmap rtb = new RenderTargetBitmap(100, 100, 96.0, 96.0, PixelFormats.Default);
rtb.Render(currentImage);
}
Run Code Online (Sandbox Code Playgroud)
这段代码应该渲染currentImage,这是我的xaml中的一个Image控件到RenderTargetBitmap.
它不起作用,rtb返回一个空白图像,问题是currentImage还没有渲染自己,所以这种行为是预期的,我认为......
为了解决这个问题,我编写了这段代码:
void Test()
{
currentImage.Source = GetBitmap();
this.Dispatcher.BeginInvoke((Action)delegate()
{
RenderTargetBitmap rtb = new RenderTargetBitmap(100, 100, 96.0, 96.0, PixelFormats.Default);
rtb.Render(currentImage);
}, System.Windows.Threading.DispatcherPriority.Render, null);
}
Run Code Online (Sandbox Code Playgroud)
基本上,我等待currentImage被渲染,然后我可以将它正确渲染到我的RenderTargetBitmap.
有没有办法让它工作而不使用这种解决方法?强制Image控件在内存中渲染可能吗?
谢谢!
我有一个使用HttpListener的应用程序,我需要知道客户端何时断开连接,现在我将所有代码都放在try/catch块中,这非常难看并且不是一个好习惯.
我怎么知道客户端是否断开连接?
谢谢!
我正在创建一个IStream如下:
IStream* stream;
result = CreateStreamOnHGlobal(0, TRUE, &stream);
Run Code Online (Sandbox Code Playgroud)
然后我有一个CImage对象,我保存到此流:
image->Save(stream, Gdiplus::ImageFormatBMP);
Run Code Online (Sandbox Code Playgroud)
我需要获取写入此IStream的字节大小.
我怎样才能做到这一点?
在IStream中没有长度或类似的东西......
谢谢!
在.net中是否有任何方法包含每行最大长度的短语?
例:
Phrase: The quick red fox jumps over the lazy cat
Length: 20
Run Code Online (Sandbox Code Playgroud)
结果:
The quick red fox
jumps over the lazy
cat
Run Code Online (Sandbox Code Playgroud)