我的wpf应用程序中有一个Image控件,里面有一个大图像,但控件本身只有60x150,这意味着它只显示该图像的某个部分.将可见部分保存到文件的最简单方法是什么?
谢谢您的帮助.
[编辑]我最终使用的是此处找到的代码(在发布此处之前我无法找到)...
Grid r = new Grid();
r.Background = new ImageBrush(image2.Source);
System.Windows.Size sz = new System.Windows.Size(image2.Source.Width, image2.Source.Height);
r.Measure(sz);
r.Arrange(new Rect(sz));
RenderTargetBitmap rtb = new RenderTargetBitmap((int)image2.Source.Width, (int)image2.Source.Height, 96d, 96d, PixelFormats.Default);
rtb.Render(r);
BmpBitmapEncoder encoder = new BmpBitmapEncoder();
encoder.Frames.Add(BitmapFrame.Create(rtb));
FileStream fs = File.Open(@"C:\lol.png", FileMode.Create);
encoder.Save(fs);
fs.Close();
Run Code Online (Sandbox Code Playgroud) 我正在开展一个项目,我需要一个表格随时保留在桌面上.这意味着即使用户单击Win + D来隐藏/显示桌面,它仍应显示.
如果有人使用Rainmeter,他们会知道尽管点击了显示桌面键,仪表仍保留在桌面上.
只要它有效,我真的不介意怎么做.我查看了数百个示例,但其中一半不起作用..
也许有人可以帮助我.
提前致谢.
我目前在尝试将表解析为数组时遇到了一些问题.
我有一个简单的表(HERE),我需要用BS4解析并将单元格内容放入一个数组中.这里的困难之处在于,单元格不包含文本,而是具有这些标题的图像:"确认"或"网站" - 这只是用户权限的东西. [我正在跳过包含复选框的第一行,我可以提取没有问题的那些]
如果你看一下上面的小提琴,我需要做的就是以这样的方式解析它,结果数组变成:
Array1[0] = User1,Confirm,Confirm,Site,Confirm
Array1[1] = User2,Confirm,Confirm,Confirm,Confirm
Array1[2] = User3,Confirm,Confirm,Confirm,Confirm
Array1[3] = User4,Confirm,Site,Site,Confirm
Run Code Online (Sandbox Code Playgroud)
然后我可以随便做.另一个复杂因素是,有时行数会有所不同,因此脚本应该能够适应这种情况并从表中递归创建数组.
目前,StackOverflow是我唯一的希望..过去10个小时我一直在做这件事,几乎没有成功,坦白说我失去了希望.最接近我得到的东西是在封闭的标签中提取,但由于一些奇怪的原因无法进一步解析,也许这是bs4的嵌套限制?任何人都可以看看,看看他们是否能找到这样做的方法?或至少解释如何到达那里?
var解释:rightml - 桌子上的汤.
allusers = []
rows = rightml.findAll('tr')
for tr in rows:
cols = tr.findAll('td')
for td in cols:
if (td.find(title="Group")) or (td.find(title="User")):
text = ''.join(td.text.strip())
allusers.append(text)
print allusers
gifrights = []
rows7 = rightml.findAll('td')
#print rows7
for tr7 in rows:
cols7 = tr7.findAll('img')
for td7 in cols7:
if (td7.find(title="Confirm")) or (td7.find(title="Site")):
text = ''.join(td7.text.strip())
text2 = …Run Code Online (Sandbox Code Playgroud)