解决C# WinForm Graphics绘制闪烁问题
不直接使用form的CreateGraphics创建Graphics进行绘制,可以先在Form上面放一个需要大小的PictureBox,再创建一个同大小的Bitmap,将这个Bitmap设置为PictureBox的Image。再在这个Bitmap上进行绘制,这样拖动resize之类就不会闪烁了。
代码片段:
PictureBox ImageBox = null;
Bitmap RenderTarget = null; Size RenderSize = new Size();
public RenderForm()
{
InitializeComponent(); ImageBox = new PictureBox();
ImageBox.Size = Properties.Resources.background.Size;
ImageBox.Parent = this; renderSize = new Size(StatTools.Properties.Resources.background.Width, StatTools.Properties.Resources.background.Height);
} public Size renderSize
{
get { return RenderSize; }
set
{
if(RenderTarget == null || RenderTarget.Width != value.Width || RenderTarget.Height != value.Height)
{
RenderTarget = null;
RenderTarget = new Bitmap(value.Width, value.Height); ImageBox.Size = new Size(value.Width, value.Height);
ImageBox.Image = RenderTarget;
} RenderSize = value;
}
} private void RenderForm_Paint(object sender, PaintEventArgs e)
{
if( CurrentRender != null )
{
var GFX = Graphics.FromImage(RenderTarget);
CurrentRender.OnDraw(GFX, renderSize.Width, renderSize.Height);
}
}
解决C# WinForm Graphics绘制闪烁问题的更多相关文章
- iOS圆角view的Swift实现(利用Core Graphics绘制)
		
iOS圆角view的Swift实现(利用Core Graphics绘制) 因为app的列表用用到了圆形图片的头像,所以去探究并思考了一下这个问题.首先这个问题有两个方向的解决方案: 把图片弄成圆形的. ...
 - WinForms 使用Graphics绘制字体阴影
		
C#以两种方法实现文字阴影效果,同时还实现了简单的动画效果: 一种是对文本使用去锯齿的边缘处理,在两个不同的位置绘制文本,形成阴影: 另一个是以阴影为线条,构造影线画刷,先画背景再画前景,使用grap ...
 - 【转】WinForms 使用Graphics绘制字体阴影
		
转自:http://www.cnblogs.com/LonelyShadow/p/3893743.html C#以两种方法实现文字阴影效果,同时还实现了简单的动画效果: 一种是对文本使用去锯齿的边缘处 ...
 - Ubuntu 16.04安装Intel显卡驱动(解决Intel HD Graphics 630显卡驱动问题)
		
一般Ubuntu都默认包含了Intel显卡的驱动,如果没有,那么先确定是不是显卡太高,比如I7第7代的CPU核显在Ubuntu 16.04中是没有的,导致画面会很卡,原因是Linux 4.4内核不包含 ...
 - Graphics绘图闪烁的问题
		
加入获取的boardPanel.CreateGraphics()时候 用这个g去g.Clear(BackColor);时候会闪烁. 解决办法: 在绘图的时候 用 绘图的image的Graphics. ...
 - Qt之绘制闪烁文本
		
简述 根据之前的二位绘图,我们可以很轻松的进行文本的绘制,如果需要一些特效,比如:文本闪烁.我们就必须借助其它辅助类来完成. 简述 原理 实现 效果 源码 原理 主要涉及两个辅助类: QFontMet ...
 - c#winform图片绘制与图片验证码
		
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
 - Graphics绘制类及打印机设置相关
		
Graphics 有两个多个方法 这里面介绍3个: 1.Graphics.drawString():绘制.画字符串........... e.Graphics.DrawString("新乡市 ...
 - 解决嵌入WinForm的WPF控件无法显示图片问题
		
解决办法是在控件初始化时,通过下面方法再次加载图片: ucCanvas.CreateCoordinateImage.Source = GetImageIcon(global::MainApplicat ...
 
随机推荐
- Java多线程 3 线程同步
			
在之前,已经学习到了线程的创建和状态控制,但是每个线程之间几乎都没有什么太大的联系.可是有的时候,可能存在多个线程多同一个数据进行操作,这样,可能就会引用各种奇怪的问题.现在就来学习多线程对数据访问的 ...
 - Eclipse MySQL Hibernate 中文乱码问题
			
如果是Eclipse的问题,那就对以下各项进行设置,即可排除问题. 设置eclipse相关编码为UTF-8: 修改工作区默认编码,位置:windows--perferences--general--w ...
 - linux 命令 之判断表达式
			
摘自http://www.comptechdoc.org/os/linux/usersguide/linux_ugshellpro.html Tests There is a function pro ...
 - Python 简易聊天机器人
			
聊天机器人 | |-----MySql | |---module--"逻辑运算层" | | | |---ciku--"与词库交互" | | | |---dict ...
 - java从基础知识(八)泛型
			
1.什么是泛型? 泛型是Java SE 1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数.这种参数类型可以用在类.接口和方法的创建中,分别称为泛型类.泛型接口.泛型方法 ...
 - PHP延迟静态绑定
			
类可以自下往上调用父类方法,如果需要在父类中根据不同的子类,来调用子类的方法,那么就需要延迟静态绑定.延迟静态绑定用的是保留关键词static. 所谓延迟静态绑定,顾名思义,静态调用时::符号左侧的部 ...
 - 详解Node解析URL网址
			
前提给大家声明一下,我操作的环境是Mac终端下操作的.(前提是你先要下载好node.js) 说道URL 恐怕都不陌生,但是要说URL,就 必须先说下URI URI是统一资源标识符,是一个用于标识某一互 ...
 - 关于robotframework,app,appium的xpath定位问题及常用方法
			
关于类似的帖子好像很多,但是没有找到具体能帮我解决问题的办法.还是自己深究了好久才基本知道app上面的xpath定位和web上的不同点: 先放一个图: A,先说说不用xpath的场景,一般是用于存在i ...
 - Android下LayoutInflater的使用
			
在我们想XML布局文件转换为View对象的时候.我们都会使用LayoutInflate对象.顾名思义咋一眼就能看出来他是布局填充器.那么接下来看看LayoutInfalte的使用 总体分为 Layou ...
 - ElasticSearch详解与优化设计
			
简介 概念 安装部署 ES安装 数据索引 索引优化 内存优化 1简介 ElasticSearch(简称ES)是一个分布式.Restful的搜索及分析服务器,设计用于分布式计算:能够达到实时搜索,稳定, ...