转 C# GDI+ 实现橡皮筋技术】的更多相关文章

原文 C# GDI+ 实现橡皮筋技术 应该有很多人都在寻找这方面的资料,看看下面我做的,或许对你会有所帮助,但愿如此. 为了实现橡皮筋技术,我用了两种方法:     第一种是利用ControlPaint.DrawReversibleLine(Point start,Point end, Color BackColor)方法,原理:在屏幕上指定的起始点和结束点内绘制具有指定背景色的可逆线,再次绘制同一条线会逆转该方法的结果.使用该方法绘制线类似于反转屏幕的一个区域,不过它提供了更好的性能适用于更广…
http://www.cnblogs.com/arxive/p/6080085.html 应该有很多人都在寻找这方面的资料,看看下面我做的,或许对你会有所帮助,但愿如此. 为了实现橡皮筋技术,我用了两种方法:    第一种是利用ControlPaint.DrawReversibleLine(Point start,Point end, Color BackColor)方法,原理:在屏幕上指定的起始点和结束点内绘制具有指定背景色的可逆线,再次绘制同一条线会逆转该方法的结果.使用该方法绘制线类似于反…
在MFC下绘制直线,使用橡皮筋技术,可以使直线效果跟随鼠标移动 //OnLButtionDown        m_ptOrigin = m_ptEnd = point;  //OnMouseMove     CClientDC dc(this);     if (nFlags == MK_LBUTTON )     {         dc.SetROP2(R2_NOT);         dc.MoveTo(m_ptOrigin);         dc.LineTo(m_ptEnd);  …
我想有很多搞图形方面的朋友都会用到双缓冲技术的时候,而且有的时候她的确是个头疼的问题.最近我也要用双缓冲技术,程序怎么调试都不合适,当要对图形进行移动时,总是会出现闪烁抖动.在网上找了些资料,说得都不清不楚的,折腾了一晚上也没弄出来.第二天觉定自己研究一下.现在把自己的一些想法拿出来跟大家分享一下. 双缓冲的基本原理:(转) 一直以来的误区:.net1.1 和 .net 2.0 在处理控件双缓冲上是有区别的.    .net 1.1中,使用:this.SetStyle(ControlStyles…
1.Graphics Graphics对象是GDI+绘图表面,因此在Windows窗体应用程序中要使用GDI+创建绘图,必须要先创建Graphics.在给窗体注册一个Paint事件后,Graphics的创建方式有以下三种. 1)直接获取Paint事件的PaintEvenlArgs中Graphics对象(最常用). private void Form1_Paint(object sender, PaintEventArgs e) { Graphics g1 = e.Graphics; } 2)从I…
GDI+概述 GDI在windows中定义为Graphis Device interface,及图形设备接口,是Windows API(application Programming Interface) 的一个重要的组成部分,它是windows图形显示程序与实际物理设备之间的桥梁,GDI使得用户无需关心具体的细节,而只需要在一个虚拟的环境(即逻辑设备)中进行操作 GDI桥梁的作用 1.用户通过调用GDI函数将逻辑空间操作转化为具体针对设备驱动程序的调用 2.GDI能检测具体设备的能力,并依据具…
System.Drawing命名空间提供了对GDI+基本图形功能的访问,其中一些子命名空间中提供了更高级的功能. GDI+由GDI发展而来,是Windows图形显示程序与实际物理设备之间的桥梁. GDI+是GDI的增强版,主要提供以下三类服务: 1)二维矢量图形:GDI+提供了存储图形基元自身信息的类(或结构体).存储图形基元绘制方式信息的类以及实际进行绘制的类. 2)图像处理:提供Bitmap.Image等类. 3)文字显示:支持使用各种字体,字号和样式来显示文本. GDI接口是基于函数的,而…
void CGraphic1View::OnMouseMove(UINT nFlags, CPoint point) {        if(MK_LBUTTON == nFlags)    {        CClientDC dc(this);        int oldmode=dc.SetROP2(R2_NOTXORPEN);        CPen pen(m_nLineStyle, m_nLineWidth, m_clr), *oldpen;        oldpen = dc.…
DXGI快速截屏录屏技术 概述   很多地方都需要用到截屏/录屏技术,比如桌面直播,桌面录制等等.在微软Windows平台,有很多截屏的接口,不过大多数性能并不理想,Windows8以后微软引入了一套新的接口,叫"Desktop Duplication API",应用程序,可以通过这套API访问桌面数据.而由于Desktop Duplication API是通过Microsoft DirectX Graphics Infrastructure (DXGI)来提供桌面图像的,速度非常快.…
2018年工作之余,想起来捡起GDI方面的技术,特意在RichCodeBox项目中做了两个示例程序,其中一个就是时钟效果,纯C#开发.这个CSharpQuartz是今天上午抽出一些时间,编写的,算是偷得浮生半日休闲吧.先来看看效果图吧: 这是直接在Winform的基础上进行绘制的.接下来,我对时钟进行了封装,封装成一个名为CSharpQuartz的类,效果如下: 这是把时钟封装后,实现的一种效果,CSharpQuartz内部开辟了一个线程,与系统时间,保持同步,每秒刷新一次.所采用的技术也就是G…