基本信息
源码名称:C# 异或线画法 Graphics示例源码下载
源码大小:0.04M
文件格式:.zip
开发语言:C#
更新时间:2017-03-28
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):78630559

本次赞助数额为: 2 元 
   源码介绍

异或线画法

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;

namespace XorLine
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        [DllImport("Gdi32.dll")]
        static extern IntPtr CreatePen(int fnPenStyle, int width, int color);
        [DllImport("Gdi32.dll")]
        static extern int SetROP2(System.IntPtr hdc, int rop);
        [DllImport("Gdi32.dll")]
        static extern int MoveToEx(IntPtr hdc, int x, int y, IntPtr lppoint);
        [DllImport("Gdi32.dll")]
        static extern int LineTo(IntPtr hdc, int X, int Y);
        [DllImport("Gdi32.dll")]
        static extern IntPtr SelectObject(IntPtr hdc, IntPtr obj);
        private void button1_Click(object sender, EventArgs e)
        {
            Graphics grfx = base.CreateGraphics();
            System.IntPtr hdc = grfx.GetHdc();
            //interop and good old GDI
            System.IntPtr hpen =
            CreatePen(0, 5, System.Drawing.ColorTranslator.ToWin32(Color.White));
            int rop = SetROP2(hdc, 5);
            IntPtr oldpen = SelectObject(hdc, hpen);
            MoveToEx(hdc, 20, 20, IntPtr.Zero);
            LineTo(hdc, 170 , 20);
            LineTo(hdc,170,170);
            LineTo(hdc, 20, 170);
            LineTo(hdc, 20, 20);
            SelectObject(hdc, oldpen);
            SetROP2(hdc, rop);
            grfx.ReleaseHdc(hdc);
        }
        private void button2_Click(object sender, EventArgs e)
        {
            Graphics grfx = base.CreateGraphics();
            Rectangle theRect = this.ClientRectangle;
            theRect.Inflate(-this.Width / 4, -this.Height / 4);
            grfx.FillRectangle(new SolidBrush(Color.Blue), theRect);
        }
    }
}