GDI+的使用

一、创建画布

方法1:

Graphics g = this.CreateGraphics();

方法2:

Bitmap bitmap = new Bitmap(picBTrackReplay.Width, picBTrackReplay.Height);
Graphics g = Graphics.FromImage(bitmap); picBTrackReplay.Image = bitmap;//指定控件图片

另外使用using,可自动对画布进行资源回收。

二、创建画笔

1、创建画笔

using (Pen blackPen = new Pen(Color.Black, 2))
{
    // 绘制语句
}

2、自定义虚线的间隔

 Pen gridPen = new Pen(color, 1);
      float[] d = new float[2];
      d[0] = 3;
      d[1] = 3;
      gridPen .DashPattern = d;
      gridPen .DashStyle = DashStyle.Custom;

3、自定义箭头格式

AdjustableArrowCap lineCap = new AdjustableArrowCap(4, 4, true);
 Pen yellowPen = new Pen(Color.Yellow, 2);
 yellowPen.CustomEndCap = lineCap;

三、绘图

List<PointF> changedPointsList=new List<PointF>();// 画线
g.DrawLines(redPen, changedPointsList.ToArray());//g.DrawLine(redPen, new PointF(1,2),new PointF(3,4));// 画矩形g.DrawRectangle(redPen,new PointF(1,2),1,1);// 绘制多边形g.DrawPolygon(redPen,changedPointsList.ToArry());// 绘制文字g.DrawString("string", new Font("宋体", 9), Brushes.Black, new PointF(1,2));// 填充颜色g.FillPolygon(Brushes.Black,changedPointsList.ToArry());

四、画布坐标平移

屏幕坐标:

  以屏幕左上角为原点,横向为X轴,竖向为Y轴。

// 改变原点位置g.TranslateTransform(dx,dy);
// 翻转Y轴
g.ScaleTransform(1, -1);
时间: 2024-11-04 12:55:34

GDI+的使用的相关文章

GDI+ 画渐变色环

在onpaint() 函数中加入如下代码,本次利用DrawArc来实现. #define PI 3.1415926 int angle=360; int x=(rect.Width()-300)/2; int y=190; int width=300; int hight=300; int wide=34; graphics.SetSmoothingMode(SmoothingModeAntiAlias);//抗锯齿 for(float i = 0.0; i < PI; i += (float)

vs2008中使用gdi+的设置

vs2008中使用gdi+ 1.新建一个mfc工程 2.在stdafx.h文件中加入以下几行语句:#include <gdiplus.h>                //#pragma comment(lib, "gdiplus.lib") //在工程属性中添加亦可using namespace Gdiplus;            //使用GDI+的命名空间, 若不用的话每次使用Gdiplus时均加上命名空间亦可 3.修改App类在App类(以下例子中为CTestA

win32用GDI+加载png图片作为背景图

#include <windows.h> #include <gdiplus.h> /* GDI+ startup token */ ULONG_PTR gdiplusStartupToken; /* Declare Windows procedure */ LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM); // UpdateLayeredWindow Defination typedef BOOL(*UP

win32学习之 --------GDI使用 代码记录

LRESULT QMainFrame::onPaint(WPARAM wParam, LPARAM lParam) { PAINTSTRUCT ps; HDC hDC = ::BeginPaint(m_hWnd, &ps); RECT rcClient; GetClientRect(&rcClient); assert(hDC); { /**画字体 DrawText(hDC,_T("test"), _tcslen(_T("test")),&r

Delphi GDI+基本用法总结

GDI+以前只是听说过,还没怎么用过,这段时间用了用,觉得挺好用的.在这里总结一下.留个备忘. GDI+(Graphics Device Interface plus)是Windows XP中的一个子系统,它主要负责在显示屏幕和打印设备输出有关信息,它是一组通过C++类实现的应用程序编程接口.由于它是图形绘制相关的接口,那先了解一下常用的几种图片格式. 常见的图片格式 常见的图片格式有JPEG, BMP, PNG. - JPEG:它用有损压缩方式去除冗余的图像或彩色数据, 获取得极高的压缩率的同

GDI基础

1.GDI 图像设备接口,windows程序显示点,线,图像,文字时,在显示器或打印机输出这些内容时,需要使用GDI2.when--在WM_PAINT时  where--设备描述表  how--调用GDI函数:  case WM_PAINT:  HDC hdc; //设备描述变量  PAINTSTRUCT ps; //绘图信息结构变量  hdc = BeginPaint(hwnd, &ps); //赋值给hdc  GetClientRect(hwnd, &rect);   //TextOu

Delphi中使用GDI+进行绘图(1)

Delphi的VCL类库中,默认使用的是GDI绘图接口,该接口封装了Win32 GDI接口,能够满足基本的绘图功能,但如果要实现更高级的绘图功能,往往比较困难,GDI+是微软在GDI之后的一个图形接口,功能比GDI丰富很多,在VCL中使用GDI+,能够实现很多高级绘图功能. 目前有多种Delphi对GDI+的封装实现,以下介绍最简单的两种: 1.使用Delphi内置的GDI+接口 首先,创建一个VCL Form应用,窗口文件如下: Pascal Code 12345678910111213141

VB6 GDI+ 入门教程——图片

版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://vistaswx.blogbus.com/logs/41225905.html VB自己的绘图语句都需要用LoadPicture载入图片,同样,GDI+中也需要. 1.载入(初始化)图片资源 (1)来自文件:GdipLoadImageFromFile 我们先来看看这个最简单基本的载入图片来自文件: [vb] view plain copy print? Dim img As Long, img_W As Long, i

4、C#进阶:MD5加密、进程、线程、GDI+、XML、委托

MD5加密 将字符串进行加密,无法解密.网上的解密方式也都是在库里找,找不到也没有. 1 protected void Page_Load(object sender, EventArgs e) 2 { 3 string s = "123"; 4 Response.Write(getMd5(s)); 5 } 6 public string getMd5(string str) 7 { 8 MD5 md5 = MD5.Create();//MD5抽象类无法实例化 实例化该方法 9 byt

GDI+编程小结

GDI+(Graphics Device Interface Plus图形设备接口加)是Windows XP和Windows Server 2003操作系统的子系统,也是.NET框架的重要组成部分,负责在屏幕和打印机上绘制图形图像和显示信息. GDI+不但在功能上比GDI 要强大很多,而且在代码编写方面也更简单,因此会很快成为Windows图形图像程序开发的首选. 一.              GDI+的特点和新增功能 GDI+与GDI一样,都具有设备无关性.应用程序的程序员可利用GDI+这样