GDI+
wwei466
这个作者很懒,什么都没留下…
展开
-
gdi+ 双缓冲技术
gdi+的双缓冲技术可以提高绘图效率,并且屏幕不会一闪一闪的。 实现双缓冲的具体步骤我再来详细解释一下刚才实现双缓冲的具体步骤:1、在内存中建立一块“虚拟画布”:Bitmap bmp = new Bitmap(600, 600);2、获取这块内存画布的Graphics引用:Graphics g = Graphics.FromImage(bmp);3、在这块内存画布原创 2008-07-24 16:46:00 · 3964 阅读 · 8 评论 -
c# 使用GDI+画曲线图
效果如图所示: 以下是代码:public class Curve { //picture Bitmap retbit = new Bitmap(800, 600); // Font _textFont; //x,y value in actual float[原创 2009-01-13 11:00:00 · 6496 阅读 · 3 评论 -
gdi+ 错位变化
效果如图,代码如下: Matrix m = new Matrix(); m.Shear(.6f, 0); g.DrawRectangle(Pens.Red, 10, 10, 50, 50); g.MultiplyTransform(m); g.原创 2008-11-05 10:00:00 · 932 阅读 · 0 评论 -
gdi+ 局部刷新(区域的失效)
要实现局部刷新,我们就必须调用onpaint方法,但是如果用refresh那么就是全局刷新,这样很影响效率。但是局部刷新怎么办?那就要用到区域的失效,我们迫使窗体的一个区域失效(Invalidate(region or rectangle),调用系统的onapint函数,系统就会刷新失效的区域。这样就可以做到局部刷新了。一般情况下,如果你调用了invalidate方法,系统会在满足原创 2008-11-04 16:34:00 · 6480 阅读 · 0 评论 -
动态设置form的icon
Creates a Bitmap.Draws that object to the screen.Gets an icon handle for the Bitmap.Sets the Form.Icon attribute of the form to an icon created from the handle.[System.Runtime.Inte原创 2008-10-14 11:50:00 · 2047 阅读 · 0 评论 -
gdi+画虚线
如果是虚线,可能用Dot效果更好些,如下 Pen p = new Pen(Color.Red,2); p.DashStyle = DashStyle.Dot; g.DrawLine(p,p1,p2);原创 2008-09-27 10:44:00 · 6818 阅读 · 1 评论 -
对图片进行切片处理,对BitBlt()方法的研究心得--c#
bitblt方法用于快速截取设备上图片的一部分在内存中,然后进行显示。 bitblt是api的方法,首先引用此方法。[DllImport("gdi32.dll ")] private static extern bool BitBlt( IntPtr hdcDest, // handle to destination原创 2008-10-21 13:09:00 · 8786 阅读 · 3 评论 -
无论如何zoom,原点坐标不变
protected override void OnPaint(PaintEventArgs e) { base.OnPaint(e); e.Graphics.RotateTransform(_transAngle); e.Graphics.TranslateTransform(tot原创 2008-09-28 17:46:00 · 1844 阅读 · 0 评论 -
使用GDI+坐标系统
关于坐标系操作不错的总结:我总结的,有点乱,请大家批评,指正. 1、 基础知识 坐标系统分为三类:全局坐标系统、页面坐标系统和设备坐标系统。页面坐标系与设备坐标系都是以设备的左上角为坐标原点,X水平向右为正,Y垂直向下为正。页面坐标与设备坐标系的差异在于X,Y的单位不同:页面坐标系中的X,Y单位可以任意设定,如英寸、毫米等;而设备坐标系中,只有一种单位,那就是点或者像素。转载 2008-09-11 11:12:00 · 2018 阅读 · 1 评论 -
使用Matrix设置字体
废话少说,看代码 e.Graphics.SmoothingMode = SmoothingMode.AntiAlias; GraphicsPath gPath = new GraphicsPath(); //GraphicsPath gPath2 = new GraphicsPath();原创 2008-09-11 16:54:00 · 1358 阅读 · 0 评论 -
自定义字体的gdi+方法
自定义字体的gdi+方法:调用API方法,使用API画。 [System.Runtime.InteropServices.DllImport("gdi32")] private static extern IntPtr CreateFont (int H, int W, int E, int O, int FW, in原创 2008-09-10 13:37:00 · 1615 阅读 · 0 评论 -
gdi+ 的 graphicspath (一)
gdi+的graphicspath很强大,就我的理解是它可以记录下来你绘图的过程,最后一起画出来。由于我是使用c#编程的,对指针很模糊。gdi+画图,c#的效率是一个问题。如果你要画的东西少,那么你可以一个一个画。但是如果多的话,效率很成问题! 我在做一个工程的时候,一个form上要画1500多条直线。如果做个循环再画,那么根本就不刷新了,一直卡在那里。 而graph原创 2008-07-24 17:19:00 · 14412 阅读 · 2 评论 -
gdi+ 的反锯齿
gdi+ 的反锯齿,听名字好像很专业的样子。我一开始也被吓了一跳。其实很简单。 就一句代码:e.Graphics.SmoothingMode = SmoothingMode.AntiAlias;AntiAlias 翻译过来就是反锯齿。原创 2008-07-24 16:51:00 · 4060 阅读 · 0 评论 -
Non-Uniform Rational B-Spline ( NURBS )
"NURBS"这个字的由来NURBS 是 Non-Uniform Rational B Spline ( 非均匀有理 B 样条曲线 ) 的缩写, NURBS 可用于呈现 3D 几何图形。使用 NURBS 呈现 3D 几何图形的优点NURBS 几何图形有五个重要的特质,这些特质让它成为电脑辅助建模的理想选择。目前有许多交换 NURBS 几何图形的标准,用户可以在许多建模、渲染、动画、工程分析程序中移转载 2008-12-02 15:42:00 · 4455 阅读 · 1 评论