从DrawingGroup获取图像 - c#

也许这是一个愚蠢的问题,但我在寻找正确答案时遇到了一些问题:S

如何从Bitmap获取为ImageDrawingGroup(或类似名称)的帧?我实际上不知道该怎么咬。我试图在Internet上寻找它,但是在找到有用的东西时遇到了问题。

参考方案

如果您需要将图像用作Source控件的Image,则可以简单地将图形放入DrawingImage中:

var drawing = ...
var drawingImage = new DrawingImage(drawing);
image.Source = drawingImage;

如果问题是关于创建BitmapSource(即可以由BitmapEncoder通过BitmapFrame进行编码的内容),则没有直接转换。您必须将图像放入中间Image控件中,并将该控件呈现为RenderTargetBitmap,即BitmapSource:

var drawing = ...
var drawingImage = new DrawingImage(drawing);
var image = new Image { Source = drawingImage };
var bitmap = new RenderTargetBitmap(100, 100, 96, 96, PixelFormats.Pbgra32);
image.Arrange(new Rect(0, 0, bitmap.Width, bitmap.Height));
bitmap.Render(image);

WPF WebBrowser甚至使用ObjectForScripting在单独的线程上锁定UI - javascript

在与WPF Web浏览器控件绑定的ObjectForScripting上调用方法时,网页UI锁定会出现一个奇怪的问题。进一步的研究使我们意识到整个UI(包括WPF应用程序而不是WebBrowser)都已锁定。使用的技术是带有Caliburn.Micro和Autofac的WPF。我在COM可见类上使用方法来推送到Caliburn.Micro提供的事件聚合器。进…

WPF-将窗口大小设置为子用户控件大小 - c#

我有一个选项卡控件,该控件动态地填充有包含各种大小的用户控件的选项卡。打开选项卡后,我希望窗口自动调整大小,使其在活动用户控件下有意义。有一种干净的方法可以做到这一点吗?我正在使用标准的mvvm模式。 参考方案 在Window类上使用SizeToContent属性。<Window x:Class="WpfApplication1.MainWi…

使用System.Drawing.Font限制字体大小? - c#

我正在使用内置的“字体”对话框来选择字体大小和样式。字体大小范围是从8到72。我需要限制用户不要选择超过20的大小。是否可以将字体大小从22禁用或完全不显示22?我没有在Font类上看到任何属性来执行此操作?感谢您的任何建议。 c#参考方案 我没有在Font类上看到任何属性来执行此操作?这是因为它是FontDialog类的属性,而不是Font类的属性。例如:…

在datagrid(wpf)中选择行索引 - c#

如何在datagrid中选择行索引? 事件SelectionChanged以下代码不起作用: private DataGridRow dgr = new DataGridRow(); private void dataGrid_SelectionChanged(object sender, SelectionChangedEventArgs e) { thi…

尝试将Python与photos.capture_image()结合使用以进行Kairos注册API - python

我目前正在使用Kairos API,并试图使用Pythonista在我的iPad上拍摄一张新照片,然后将该照片上传到Kairos enroll API。我能够使它与URL图像一起正常工作,但是我一生无法通过使用photos模块拍摄照片来使其正常工作。根据我的理解,photos模块返回一个PIL图像,我认为在上传到Kairos API之前需要对它进行base6…