C#winform中使用pointToScreen异常

清夜冷月 2019-06-18 05:32:29
有些系统是好的,windows10笔记本异常,windows7 虚拟机上的异常,求原因及解决方法
...全文
258 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
清夜冷月 2019-06-19
  • 打赏
  • 举报
回复
代码如下:
/// <summary>
/// 截取设置
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnSet_Click(object sender, EventArgs e)
{
if (btnSet.Text == "截取设置")
{
Bitmap newbitmap = new Bitmap(this.axWindowsMediaPlayer1.Width, this.axWindowsMediaPlayer1.Height);
Graphics g = Graphics.FromImage(newbitmap);
g.CompositingQuality = CompositingQuality.HighQuality;//质量设为最高

//下面这句话的问题
g.CopyFromScreen(this.axWindowsMediaPlayer1.PointToScreen(new Point(0, 0)), new Point(0, 0), new Size(this.axWindowsMediaPlayer1.Width, axWindowsMediaPlayer1.Height));

this.splitContainer1.Panel1.BackgroundImage = newbitmap;//画一个背景
axWindowsMediaPlayer1.Ctlcontrols.pause();
this.splitContainer1.Panel1.Controls.Remove(axWindowsMediaPlayer1);//移除播放插件,才可以透明显示截取设置canvas控件
canvas1.BringToFront();

btnSet.Text = "结束设置";
btnCapture.Enabled = false;
}
else
{
this.splitContainer1.Panel1.Controls.Add(axWindowsMediaPlayer1);
axWindowsMediaPlayer1.Ctlcontrols.play();
canvas1.SendToBack();
btnSet.Text = "截取设置";
btnCapture.Enabled = true;
}
}
清夜冷月 2019-06-19
  • 打赏
  • 举报
回复
引用 2 楼 caozhy的回复:
看一下不正常的系统,它的dpi设置是不是不是100%?
没有使用鼠标拖动截图。试过了改变数值dpi,没有用。
threenewbee 2019-06-18
  • 打赏
  • 举报
回复
看一下不正常的系统,它的dpi设置是不是不是100%?
清夜冷月 2019-06-18
  • 打赏
  • 举报
回复
用的wondows media player,实现播放时截图

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧