首页 > 其他分享 >关于Picturebox中无法清除GDI+绘图问题

关于Picturebox中无法清除GDI+绘图问题

时间:2022-11-03 20:23:27浏览次数:54  
标签:控件 Picturebox 绘图 pictureBox1 pictureBox2 Graphics GDI

在PictureBox上实时显示图像,并绘制直线而搜索框不能变化的功能

1.思路

  • 由于winform的Picturebox控件,并不支持一边重绘GDI一边保持搜索框。遂选择把2个Picturebox控件叠放在一起
  • 第一个Picturebox作为父控件,第二个作为子控件。实时变化的图像和直线放在第一个控件上,第2个控件放搜索框,
    并可以移动拉伸做调整功能。

2.步骤

  • 首先拖一个Panel做背景,第一个Picturebox控件的BackColor设置为black,第二个控件设为透明Transparent。
  • 在窗体的构造函数内设置父控件:pictureBox2.Parent = pictureBox1;
  • 设置控件背景图和Graphics:
示例代码

//初始化
Bitmap image1 = new Bitmap(pictureBox1.Width,pictureBox1.Height);
Bitmap image2 = new Bitmap(pictureBox2.Width,pictureBox2.Height);
Graphics g1 = Graphics.FromImage(image1);
Graphics g2 = Graphics.FromImage(image2);
pictureBox1.Image = image1;
pictureBox2.Image = image2;
//清除背景。注意:一定要先清理子控件的绘图,再清理父控件的绘图。不然,子控件绘图清除不了

标签:控件,Picturebox,绘图,pictureBox1,pictureBox2,Graphics,GDI
From: https://www.cnblogs.com/weber-zheng/p/16855672.html

相关文章

  • pandas绘图指南
    文章目录​​pandas绘图​​​​基本绘图方法plot​​​​其他绘图​​​​条形图​​​​直方图​​​​箱型图​​​​面积图​​​​散点图​​​​六边形图​​​​饼图......
  • python-绘图进阶
    数据准备importmatplotlib.pyplotaspltimporttushareastsimportpandasaspdimportdatetime%matplotlibinlineplt.rcParams['font.sans-serif']=['Arial......
  • QML中绘图(1、Canvas 2、QPainter与QML结合)
     QML中的Canvas和HTML5中Canvas是一样的,可以参考W3CSchool中的学习方法:​​HTML5Canvas参考手册​​画线、删除线、删除全部实例: 不过,QML中的Canvas不够强大,画线会卡。......
  • 矢量绘图UI图标设计Sketch 94
    SketchMac版以简约的设计是基于无限的规模和层次的绘图空间,拥有调色板,面板,菜单,窗口和控件。虽然使用简单,它提供了功能强大的矢量绘图和文字工具。如完美的布尔运算,符号,和......
  • Winform GDI 系列(2) 窗体边框重绘制
    ///<summary>///窗体边框重绘制///</summary>///<paramname="sender"></param>///<paramname="e"></param>privatevoidForm1_Paint(......
  • .Net Core通过GDI+在CentOS 7(Docker)环境中绘图报错The type initializer for 'Gdip'
    记一次.NetCore通过GDI+在CentOS7(Docker)环境中绘图报错Thetypeinitializerfor'Gdip'threwanexception的问题及处理方式  目录一、前言二、问题分析......
  • tuetle绘图目录
    1-turtle坐标2-turtle方向3-turtle基本元素绘制......
  • Matlab绘图高级部分
    图形是呈现数据的一种直观方式,在用Matlab进行数据处理和计算后,我们一般都会以图形的形式将结果呈现出来。尤其在论文的撰写中,优雅的图形无疑会为文章加分。本篇文章非完全......
  • 前端绘图方式Canvas和SVG的区别
    前端绘图方式Canvas和SVG的区别Canvas和SVG是html5中支持2种可视化技术,都是可以在画布上绘制图形和放入图片。下面来介绍和分析一下他们。一.Canvas和SVG简介1.什么是......
  • Matlab绘图高级部分
    图形是呈现数据的一种直观方式,在用Matlab进行数据处理和计算后,我们一般都会以图形的形式将结果呈现出来。尤其在论文的撰写中,优雅的图形无疑会为文章加分。本篇文章非完全......